| | |
Dynamically Adding User Controls at Runtime
Please support our ASP.NET advertiser: Intel Parallel Studio Home
![]() |
•
•
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 3.5 ajax alltypeofvideos appliances asp asp.net bc30451 beginner box browser businesslogiclayer button c# cac checkbox class commonfunctions control countryselector dataaccesslayer database datagrid datagridview datagridviewcheckbox datalist deployment development dgv dialog dropdownlist dropdownmenu dynamic dynamically edit embeddingactivexcontrol expose fileuploader fill findcontrol flash formatdecimal formview gridview gudi iis javascript list listbox login microsoft mouse mssql nameisnotdeclared news novell numerical opera panelmasterpagebuttoncontrols problem radio redirect registration relationaldatabases reportemail save schoolproject search security sessionvariables silverlight smartcard smoobjects software sql sql-server sqlserver2005 ssl suse textbox tracking treeview unauthorized validatedate validation vb.net video videos vista visualstudio vs2008 web webapplications webdevelopemnt webdevelopment webprogramming webservice wizard xsl youareanotmemberofthedebuggerusers





