| | |
Dynamically Adding User Controls at Runtime
Please support our ASP.NET advertiser: $4.95 a Month - ASP.NET Web Hosting – Click Here!
![]() |
•
•
Join Date: Nov 2008
Posts: 2
Reputation:
Solved Threads: 0
Im trying to dynamically add controls such as text boxes, radio buttons, check boxes, etc to a user control(ascx page). Im basically trying to build a very simple faceted search. Here is the scenario the user defines a string that specifies what is to appear on the page, some thing like this:
searchParams = "Name:TextBox, City:Radio{a;b;c}"
So the Name field will be a text box, and the City field will be a group of the three radio buttons "a,b,c". Im generating the user controls in a select case statement as follows:
But im getting this error: The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
when executing this line: Me.Controls.Add(radio)
So I researched this and I read places that I should try and add things to a placeholder instead of the page itself, I tried that but that didnt work. I also tryed using binding syntax <%#blah%> instead of <%%> and that didnt work either. Im running out of ideas and I dont know what the problem is? I need to be able to dynamically generate controls onto the page according to that user defined string. Any ideas?
searchParams = "Name:TextBox, City:Radio{a;b;c}"
So the Name field will be a text box, and the City field will be a group of the three radio buttons "a,b,c". Im generating the user controls in a select case statement as follows:
asp.net Syntax (Toggle Plain Text)
Select Case source(1) Case "TextBox"%> <%=source(0)%><br /> <asp:TextBox runat=server></asp:TextBox><br /> <% Case "DropDown" Case "Radio"%> <%=source(0)%><br /> <% For Each opt As String In options Dim radio As RadioButton radio = New RadioButton radio.Text = opt radio.GroupName = "radio1" Me.Controls.Add(radio) %> <%Next %> <%End Select
But im getting this error: The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
when executing this line: Me.Controls.Add(radio)
So I researched this and I read places that I should try and add things to a placeholder instead of the page itself, I tried that but that didnt work. I also tryed using binding syntax <%#blah%> instead of <%%> and that didnt work either. Im running out of ideas and I dont know what the problem is? I need to be able to dynamically generate controls onto the page according to that user defined string. Any ideas?
Last edited by peter_budo; Nov 28th, 2008 at 1:20 pm. Reason: Keep It Organized - For easy readability, always wrap programming code within posts in [code] (code blocks) and [icode] (inline code) tags.
![]() |
Other Threads in the ASP.NET Forum
- Previous Thread: Use variable from the code behind
- Next Thread: Make calendar control popup when textbox gets focus
| Thread Tools | Search this Thread |
.net 2.0 3.5 activexcontrol advice ajax alltypeofvideos asp asp.net bc30451 beginner bottomasp.net browser businesslogiclayer c# c#gridviewcolumn cac checkbox class commonfunctions compatible confirmationcodegeneration content contenttype countryselector courier dataaccesslayer database datagrid datagridview datagridviewcheckbox datalist deployment development dgv dropdownlist dropdownmenu dynamic dynamically edit embeddingactivexcontrol fileuploader fill findcontrol flash flv formatdecimal forms formview gridview gudi homeedition iframe iis javascript jquery listbox menu microsoft mouse mssql multistepregistration nameisnotdeclared news objects panelmasterpagebuttoncontrols problem redirect registration relationaldatabases rotatepage schoolproject security serializesmo.table sessionvariables smartcard smoobjects sql sql-server sqlserver2005 ssl textbox tracking treeview unauthorized validatedate validation vb.net video videos virtualdirectory vista visual-studio visualstudio web webarchitecture webdevelopemnt webdevelopment webservice youareanotmemberofthedebuggerusers





