Web Forms :: Adding Multiple Usercontrols Dynamically?
Sep 21, 2010
I have a simple user control which contains a textbox and a dropdownlist. I need to add this control multiple times to my page then save the details to my db, validating each control. When they re-enter my page I need to load the user control for each record in the db populated with the data they entered. They can then edit the data, delete the row or add new rows.
I'm trying to find the cleanest most efficient way to accomplish this. I realise I would need to re-add the user controls after each postback re-populating the data. Would the best way be to add each row to an arraylist or list of type object, save it to the viewstate and re-add the controls with data on postback, or is there another method which would suit?
Basically I have a usercontrol that is setup to capture a persons education details. I want to have a button inside the update that when the user clicks loads the usercontrol below the previous usercontrol.
I'm looking to add controls dynamically to a table across multiple functions. I'm trying to convert this from a C# app to a web app using asp.net, though this is my first time using asp.net with no web development background. I read the creating tables dynamically in the FAQ but I'm still not sure how to do this.
When pressing the submit button on my form, it will create a table in a place holder. Eventually I would like it to generate urls based on the users input and do this in a function other then the one I created my table in.
In my C# app I was able to add text to a listbox using: lstOutput.Items.Add("Text"); across multiple functions but I'm having trouble doing this with a table.
I understand that my table is a local variable in the submitButton_Click function, but how do I make it global to add rows, cells and controls to it in other functions?
I have implemented a user control with dropdown lists and textboxes where user may choose to add more of the same user control dynamically then submit the values within all usercontrols at the same time. They way I added usercontrols dynamically is whenever user clicks "add more" button, it increases the value of "userControlAmount" in session by 1, reloads the page and during next page_load event, within an updatepanel it creates usercontrols on the fly.
However whenever more is added since all usercontrols are generated again according to the latest user control counter, the values within the dropdownlists and textboxes are getting reseted.
I can hold all values in a viewstate/session however beyond the time/effort it will take, it doesn't sounds very "professional" to me. I was wondering if there is a more efficient way of doing this.
I am making a website where the user has to choose some addresses form a list of street names.
I have made a usercontrol Witch I dynamically adds to the website depending on some choices the user makes (Zip, and Streed name) The usercontrol contains a checkbox. When the user clicks a button on the site I would like to find all the usercontrols the user have checked.
The usercontrols is contained in a asp:Panel
I have tried with a foreach loop where I loop all the controls in the panel. It only retun one control.
Then I have tried with at ControlCollection ctrlCol = ContentPanel.Controls;
It only returns a LiteralControl. Then I have tried to loop all the controls on the webpage testing for the type as the usercontrol but no luck
How can I find an loop thru all my usercontrols and find the checked?
my requirement is i want to add education details having three fields
1) name of school 2)name of city 3)Degree
some persons will studied only in one school . some in 2 . aome in 3. how to add dynamically .and after that i want to show the data to admin .if there is 2 means i want to display 2 school informa
I follow this code [URL] it works. But the example is show only for 1 row.. come to my case when user want 12 rows for the first time gridview row load. I manage to add it by using for loop. but i stuck at the how to set previous data when user add new row to 13th row. The gridview seems like refresh and the entered data is gone!
I have a userControl with with two DDLs and two RBLs, and public properties to get/set the values. If I register the UC on a page it works fine....I can set/retrieve the values without a problem.
I need to create multiple UCs based on records I'm pulling from a dB, so I'm trying to instead create the UCs programmatically. I'm testing this by adding a reference to the control ("symptomBasic"), creating a placeholder ("ph1") on a page and then trying to populate it with the UCs in PageInit. (the parent page uses a master page)
Partial Class testUC Inherits System.Web.UI.Page Private myUC As ASP.symptomBasic Protected Sub Page_init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init Dim i As Integer For i = 1 To 3 myUC = CType(LoadControl("~/controls/symptom.ascx"), ASP.symptomBasic) ph1.Controls.Add(myUC) Next End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load End Sub End Class
When I load the page, I get three UCs in a row, and they work properly on postback...i.e. all the values are preserved. Question is, how do I then find the controls on postback when I want to populate them with data or read the values back?
Let's say I know I returned 3 rows from the dB and created 3 UCs during pageInit...how do I then access those controls to read back the values provided by the user? I see that each control has an ID like: "ctl00_ContentPlaceHolder1_ctl01_cName", where each set of controls is "ctl00", "ctl01", etc.
I am generating instances of a UserControl and putting them in an UL. In my UserControl there is a button with an event. I want to ask how I can keep the state of the UserControls I generated so that they remain on the page after a postback and also to catch their events.
For i As Integer = 0 To lstFoo.Count - 1 Dim liFoo As New HtmlGenericControl("li") Dim ucMyFoo As ucFoo = LoadControl("userControls/ucFoo.ascx") liFoo.Controls.Add(ucMyFoo) ucMyFoo.DoSomething() ulFoo.Controls.Add(liFoo) Next
We have an application where the controls are dynamically added to the form based on the logged in user,
This user controls related data is stored in the database. There is lot of logic in the code behind in the asp.net webforms which is so messy to maintain it, we are planning to re-write it using the MVC framework.
I would say there would be rougly 50 different forms based on the user logged in, is it good idea to create so many views and redirect to the appropriate view based on the logged in user, in some of the forms there might be minor difference like the order of the Control might change.
I am hoping someone can help me out. I have a web application that contains a usercontrol think "employment details" a user can enter a previous employment detail.
I have created a page that contains an update panel a placeholder and a button. The button I want to use to load a new copy of the same usercontrol. Can anyone point me in the right redirect?
For a "dashboard" module I need to dynamically load user controls based on criteria as the user enters the page (role, etc). The problem is that the events are not being fired at all from the controls
As I understand it I need to load the controls in the OnPreInit method of the dashboard page, however I cannot get a reference to the Placeholder control at this point of initialization (i.e. I get a NullReferenceException); trying to load the Placeholder dynamically via Page.FindControl gives me, ironically, a StackOverflowException.
I've tried loading the controls in PreRender and OnInit as well but the events in the controls are not wired up properly and will not fire.
I have written a user control that captures some user input and has a Save button to save it to the DB. I use a repeater to render a number of these controls on the page - imagine a list of multiple choice questions with a Save button by each question.
I am loading the user control inside the repeater's ItemDataBound event like this (code simplified):
[code]....
The problem is that when the Save button is clicked, the page posts back, but lbnUpdate_Click is not called. The Page_Load event of the page itself is called however.
I should mention that the repeater is part of a user control, and that user control is loaded inside another user control (this is a DotNetNuke site which makes heavy use of user controls). The Save button link looks like this:
I am using the cascading dropdownlist controls from the Ajax toolkit. I have everything working perfectly and all of my select changes work. I have 3 related select boxes that all work great for single item select. What I need is for my last dropdownlist to allow for the selection of multiple items. I have tried adding the 'multiple' attribute to the final dropdown list and it allows the selection of multiple items but I cannot get the items when I post back, just a single item.
I have a website built that uses master page templates. In the master page I have a simple menu in a list. This is not dynamic (yet!).
I am trying to put together some code behind to write a simple css class to one of the menu links if the Request.ServerVariables("URL") is equal to the current page URL
I have no code written because everything complains when I try to come up with something. I was thinking of doing it using a switch function but am I over complicating things?Below is the simple menu with the class I am trying to write to the link:
I have a custom webpart which i am adding to webpartzone dynamically.., in the custom webpart am loading a usercontrol which has Gridview in it with data. On the page load it is working fine, when i click the paging button of the gridview , then nothing is visible on the page...
I have a web form that insert a City recordinto DB.i need to upload images for each city, beacuse of the relationship between city and image is 1-Many.i want to design a from that user enter city info and below that form be a fileuploadcontrol say fileuploadcontrol1, if user browse the fileuploadcontrol1, another fileuploadcontrol, say fileuploadcontrol1 added to, if user browse fileuploadcontrol1, fileuploadcontrol2 added to from and so on, so user can upload as many as files he want. i want this without postback i mean with AJAX.
I am trying to add wizard steps dynamically in code-behind but keep getting an exception
"ActiveViewIndex is being set to '0'. It must be smaller than the current number of View controls '0'. For dynamically added views, make sure they are added before or in Page_PreInit event."
I found I have some fundamental error in my building, since I got this error after trying to build the simplest wizard in a new web-site just opened...
Is there some way that qury string variables can be added dynamically ? Suppose Page one.aspx?Id=3 redirect me to Two.aspx
Can I add some parameters in Two.aspx before page loads ? I know query string collection is read only and it looks not possible but just asking there may be some way to do this.
I am new to ASP.NET And I am have THE hardest time understanding how to work with forms in ASP.NET. Here's what I am doing:
Dynamically add User Controls to a PlaceHolder based on some int value (which currently is passed in a HiddenField).Fire an event if the WebControls inside of the User Control change, then handle that event in the Main Page (i.e. save the input to DB)When the user clicks the "Next/Continue" button, the next controls for the next page are loaded. And I guess maybe I just can't seem to get how things work in ASP.NET, because I am really struggling with the general idea of how ASP.NET flows.
Should I be dynamically loading the controls in Page_Init, or Page_Load? Or should I load the controls when the buttonclick event is fired?Do I have to add the axCtrl.OnDataChange += new EventHandler(HandleAxControlDataChange); line on Page_Load? Or should I put this in When I first load the UserControl, I need to initialize some WebControls within the UserContorl. Is there a way to know if I have loaded new user controls into my placeholder? I can't use Page.IsPostback, because after the first page, every page is a postback from the buttonclick.
I am creating an application which creates pages dynamically, therefore all controls are also created this way. Initially adding a Editor part to the editorZone loads fine, as follows:
I am working on an application, where a user will enter their primary information (Name, Address, Email, Phone etc), then enter their automobile information (usually a fleet of automobiles).
My web page currently has one row of text boxes (Car Make, Year, Model, VIN, Mileage, License Plate)
Below this is a button called "Add More Cars"
What I am trying to do here is allow the user to add more cars if they have more than one that needs to be registered.
My problem is how do I do this dynamically?
2nd problem, how do I collect the data entered by the user (for all cars), to be able to write them to the database?