472,364 Members | 2,125 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,364 software developers and data experts.

Creating controls dynamically based on user input

I can think of a lot of reasons why this might need to be done but as
far as I can tell it's not possible. I've been looking for a way to
add HtmlTableRows to a table using a button click for a while and it
seems it's not possible because the row that gets added with each
click won't get recreated after a post back. After all the reading it
seems that any dynamically created controls must be created in the
Init event to be recreated after postback. This I think is very
unfortionate as it makes it impossible to change the display
interactively. Can someone please verify that this really is
impossible to do?

Oct 30 '07 #1
4 2835
OK, I'll verify that you are on the right track. You will need to
recreate the number of rows you dynamically created during init. But,
once you've done that view state should be able to recreate everything
else.

"Any dynamically created controls must be created in Init to be
recreated after postback." Would be better stated, "Any dynamically
created control must be recreated in Init to have its state reset after
postback." Viewstate assumes the control object has been created, it is
just resetting the state of that object. Not, recreating the object AND
setting the state.

All you really need is a way to keep track of what you created
dynamically so that you can recreate it during init. You could do this
with a hidden field which you could get from
Request.Form["hiddenFieldName"] during Init.
-----Original Message-----
From: mo******@gmail.com [mailto:mo******@gmail.com]
Posted At: Tuesday, October 30, 2007 7:44 PM
Posted To: microsoft.public.dotnet.framework.aspnet
Conversation: Creating controls dynamically based on user input
Subject: Creating controls dynamically based on user input

I can think of a lot of reasons why this might need to be done but as
far as I can tell it's not possible. I've been looking for a way to
add HtmlTableRows to a table using a button click for a while and it
seems it's not possible because the row that gets added with each
click won't get recreated after a post back. After all the reading it
seems that any dynamically created controls must be created in the
Init event to be recreated after postback. This I think is very
unfortionate as it makes it impossible to change the display
interactively. Can someone please verify that this really is
impossible to do?

Oct 31 '07 #2
I don't think you are on the right track. You shouldn't need to build any
table dynamically. Instead, you should use one of the databound controls
that produce tables, like GridView, DataList or Repeater. You need to define
a datasource that will contain items (rows) holding data that will go to the
resulting table rows. When you databind the control to the datasource, it
will build the table for you automatically. The datasource doesn't have to
be a database table. It can be any collection object, like an array etc.
Based on user input, modify the datasource object, re-bind the control and
you are done.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
<mo******@gmail.comwrote in message
news:11**********************@d55g2000hsg.googlegr oups.com...
>I can think of a lot of reasons why this might need to be done but as
far as I can tell it's not possible. I've been looking for a way to
add HtmlTableRows to a table using a button click for a while and it
seems it's not possible because the row that gets added with each
click won't get recreated after a post back. After all the reading it
seems that any dynamically created controls must be created in the
Init event to be recreated after postback. This I think is very
unfortionate as it makes it impossible to change the display
interactively. Can someone please verify that this really is
impossible to do?

Oct 31 '07 #3
If I shouldn't need to create a table dynamically then how would you
create a table which will have a undetermined number of rows? Meaning
the number of rows needs to change based on what the user needs. In my
case I have to allow the user the ability to create a new row of
information based on a button click. I keep trying to think of ways
around this problem and am now thinking maybe it's possible to pre-
create my table in the Init event with more rows then will be needed,
then set all the rows except the first one to Visible=False. Then as
the user needs another row I will just make it visible. This might
work. It's a hack as it will be a problem if the user needs more rows
then were provided.

I'm also thinking maybe I can do this using pure html and the
Request.Form method to custom build what I need.

There must be some way to do this.

On Oct 31, 1:15 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
I don't think you are on the right track. You shouldn't need to build any
table dynamically. Instead, you should use one of the databound controls
that produce tables, like GridView, DataList or Repeater. You need to define
a datasource that will contain items (rows) holding data that will go to the
resulting table rows. When you databind the control to the datasource, it
will build the table for you automatically. The datasource doesn't have to
be a database table. It can be any collection object, like an array etc.
Based on user input, modify the datasource object, re-bind the control and
you are done.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net

<mohaa...@gmail.comwrote in message

news:11**********************@d55g2000hsg.googlegr oups.com...
I can think of a lot of reasons why this might need to be done but as
far as I can tell it's not possible. I've been looking for a way to
add HtmlTableRows to a table using a button click for a while and it
seems it's not possible because the row that gets added with each
click won't get recreated after a post back. After all the reading it
seems that any dynamically created controls must be created in the
Init event to be recreated after postback. This I think is very
unfortionate as it makes it impossible to change the display
interactively. Can someone please verify that this really is
impossible to do?- Hide quoted text -

- Show quoted text -

Oct 31 '07 #4
If I shouldn't need to create a table dynamically then how would you
create a table which will have a undetermined number of rows?
The point is that you add rows to the datasource which could be as simple as
just an array or an ArrayList. Than you do something like myGrid.DataBind()
and you get a table with as many rows as the number of items in your
datasource.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net

Nov 1 '07 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: Glenn Owens | last post by:
I have an ASP.Net page on which there are serveral static controls (listboxes, radiobuttonlist and textboxes). These controls are used to create criteria from which the code-behind will dynamically...
1
by: C Downey | last post by:
I have a registration form that should load different web user controls based on the selection of a dropdown list. Basically, the user follows the following steps: 1. user comes to very basic...
2
by: Patrick | last post by:
I want to define a set of web-form templates in XML and render the equivalent web-form with ASP.NET, then process any input server controls on the form. Reading the XML file from Page_load is...
1
by: Marcus | last post by:
I have a problem maybe one of you could help me with. I've created a data entry screen with lots of dynamically-created client-side controls. I create HTML texboxes client-side by assigning a...
12
by: Mats Lycken | last post by:
Hi, I'm creating a CMS that I would like to be plug-in based with different plugins handling different kinds of content. What I really want is to be able to load/unload plugins on the fly without...
2
by: epigram | last post by:
I'm dynamically creating a number of radio buttons on my aspx page based upon data read from a db. Each radio button has autopostback turned on. I'm experiencing two problems. 1) I am reading...
5
by: Dennis Fazekas | last post by:
Greetings, I am creating a web form which will all the user to add an unlimited number of email addresses. Basically I have 3 buttons, "Add Another Email", "-" to remove, and a "Save" button....
15
by: mc | last post by:
I'm writing an app for managing Task Lists, I'm trying to add some controls to a form that I can use to link tasks, my original intention was to: - Add two list boxes, one listing "all Tasks"...
1
by: hardieca | last post by:
Hi, I'm building a multi-lingual CMS. The user can add as many languages as he likes. The user will be able to create sections for different content (General, News Releases, etc...) in the db...
2
by: Kemmylinns12 | last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and efficiency. While initially associated with cryptocurrencies...
0
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was proposed, which integrated multiple engines and...
0
by: AndyPSV | last post by:
HOW CAN I CREATE AN AI with an .executable file that would suck all files in the folder and on my computerHOW CAN I CREATE AN AI with an .executable file that would suck all files in the folder and...
0
by: Arjunsri | last post by:
I have a Redshift database that I need to use as an import data source. I have configured the DSN connection using the server, port, database, and credentials and received a successful connection...
0
hi
by: WisdomUfot | last post by:
It's an interesting question you've got about how Gmail hides the HTTP referrer when a link in an email is clicked. While I don't have the specific technical details, Gmail likely implements measures...
0
Oralloy
by: Oralloy | last post by:
Hello Folks, I am trying to hook up a CPU which I designed using SystemC to I/O pins on an FPGA. My problem (spelled failure) is with the synthesis of my design into a bitstream, not the C++...
0
by: Carina712 | last post by:
Setting background colors for Excel documents can help to improve the visual appeal of the document and make it easier to read and understand. Background colors can be used to highlight important...
1
by: Johno34 | last post by:
I have this click event on my form. It speaks to a Datasheet Subform Private Sub Command260_Click() Dim r As DAO.Recordset Set r = Form_frmABCD.Form.RecordsetClone r.MoveFirst Do If...
1
by: ezappsrUS | last post by:
Hi, I wonder if someone knows where I am going wrong below. I have a continuous form and two labels where only one would be visible depending on the checkbox being checked or not. Below is the...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.