State Management :: Dynamic Controls Created Missing After Postback?
Sep 21, 2010
While generating dynamic controls like , textboxes, dropdownlist, checkboxes and radiobuttons, after filling the textboxes and etc and submit and then postback occurs, the dynamic created controls missing. I try to find a way to make the controls persist for validation checking. Tried to use Viewstate to store the pnlTextBoxes and etc, but it has serializable error.
I have several dynamic user controls,that I want to load them in seperate tab panels.but my problem is when the postback occures my user controls disapeare from my tabpanels. however I want to keep my user controls in my tabs whenever I click on each tab.
This is the strangest problem im facing(may be i missed something). The application works fine locally, but when uploaded on the live server. the session values are not retrieved properly.
i have stored a value in a session in master page's code behind. and afte the page is redirected is to another page, there im not able to retrieve the session value.
why this is hapening.. i remind you this is working perfectly on local server. problem is only when published on live server.
Let me explain, describing the scenario:In a custom server control (in my case, derived from CompositeControl), in the overidden CreateChildControls method I create a complex tree of subcontrols, using information from a db.The db provides both information on which controls I need to create (the user interface's structure) and the data used to fill these controls.Than the user can interact with the control and change the data (that becomes different to what stored on db).
My custom control lives in the same page where there are other controls, obviously.And these controls can cause a postback at any time.What I need is that my custom control keeps the data entered by the user across these postback, without reverting to the original data and loose the user data entry.
Here is the first doubt:
1)I create the subcontrols dinamically in the CreateChildControls at any page refresh (both on first call than on postback).I know that the framework solves the reference between the posted data and the controls I create in the CreateChildControls in order to set properties and raise control events, but can you tell me when and how it actually does this? In which phase of page life cycle? What happens after the CreateChildControls?
A second doubt:2)If the user interface structure must change as a consequence of the data entered, I had to execute CreateChildControls twice (the first time to recreate the original interface to get the events and the second time to create the new interface) In which phase of page/control lifecycle do I have to make the second call to CreateChildControls? I do it on Prerender now, but is it right or wrong, and why?
I have created a web form in which i have used user control there is linkĀ button on different link button user control loads . i have added dynamically webcontrol to that link button . they are loading properly but when i try to save data through one of user control on click of button the user control disapper from that place but when i put static user control to my page its working
It was doing exactly what I expected until I added more than 1 property to it. It seems if I set the value of a property this, in turn, sets every property in the handler to the same value.
I figured it had something to do with the "shared" but if it's not shared then I would have to declare an instance on my page which would kinda ruin the state of my variables (otherwise, I'd just put them all in my class), right??
I have a nested master page that I use for multiple pages. There is a ContentPlaceHolder that is used for only one page, but it is not shown until after the first postback and some validation. I was first trying to use static controls and set the Visible property on the ContentPlaceHolder to true after the postback and that did not work at all. Then was messing with the visible properties of the Individual controls inside the ContentPlaceHolder which also did not work. I have the EnableViewState set to false for the Page and each of the controls including the ContentPlaceHolder. Is there a better way to do this? I can post my code if need be just wanted to see if there was a better solution to this before I did.
i have a Method which create textboxes dynamicly. When i change one of my textbox's text, it create that amount textbox and label. But my problem is, when i entered values to them and click my button, they are disappearing and i cant find my controls. Some of my codes
I am in the process of designing a blogosphere that enable readers to leave comments. I want my dynamically added label controls added to the placeholder on the page to be retained and displayed on subsequent requests or postbacks to the same page. how do I go about this? I have tried using View State but it's kind of beyong me how to work it.
I have a set of dynamically-created (IE: by code) controls on my web page. Depending on which options the user decides to go (Edit/New), those controls are re-created with the appropriate information (IE: "with values" with Edit, "without values" with New).
Here's the situation:
- I create my controls in InitComplete when it comes to save the data (both on Edit/New) contained within the controls.
- I create my controls in PreLoad when it comes to load them initially (Both on Edit/New) in order to avoid the ViewState to kick in.
However, despite creating the controls after the ViewState has been applied (technically), the controls still somehow retain the pre-postback's information. IE: if I have options 2 and 4 selected and I choose "New", which should show the options without being selected, they remain selected no matter what. And this is true despite changing their values in the PreLoad state. From my understanding, creating a control in this fashion and at that point in the page lifecycle should override any values the ViewState might have had for those controls. I have also tried to disable the parent's control viewstate (Table.EnableViewState = false) again, to no avail.
I've tried using the Me.ViewState.clear() and Me.ClearChildViewSate prior to loading the initial values as well, but again all for naught. I do understand that any control created after the Init phase of the lifecycle has to play "catchup" with the current state, however I would expect that clearing the ViewState prior to creating the controls would fix this issue. It doesn't seem to.
I want to insitate a class instance in the session start of the application. code below
if (Session["user"] != null)
Session["user"] = new user();
I have created the "user" class as a separte dll and referenced and imported the namespace.But still i get 'are u missing assembly reference' it is not problem in 1.1 but seems has a problem in 2.0
I have the following tabs. After a postback, the tabs automatically gets focus back to 0. I want it to keep on the same tab before the postback. What's a great way of getting this done.
I read the solutioin for this error, at the following link :http://forums.asp.net/p/1046935/1576341.aspxbut I am still not clear what exactly causes the error. I have two doubts :1. Can anyone please elaborate a bit on this issue, with any example ????2. Is there any drawback of this approach ?
I have several dynamic user controls that I want to keep them in each postback. but the problem is when I click on menu item at first time, every thing disapeare in my page! even the things I created on design time. would somebody please help me to find out the problem of my code?it's realy urgent!!
I am creating a simple string of values that get added to a label after a post back. I am setting the values thorugh ViewState. However, my appended values do not get updated until AFTER the 2nd postback. Example:
On Page_Load the label displays a "0";
If I enter a "1" in the text box and click the button the label still displays a "0";
If I click the button again (the 2nd postback) then my label correctly displays "0,1"; This works for whatever value I enter after. i.e. "0,1,35,hello world", etc.
I have a slight delemma that I have not been able to work out.
My Scenario is:
Page_Loads > Calls Sub Random Data Retrieved from a Table - Displayed on screen & Sets Variables from Row(0) for an Insert Statement > Click Button to Insert those Variables.(essentially, the Insert Statement Parameters are Dynamic in that they change each time the page loads)
The Problem I am having, is that each time the page loads, I need a New DataSet, and the Page_Load is operating too quickly, changing my variables on postBack and ultimately, inserting the new values that are now loaded.
How can I:
Page_Loads > Get and Set the Variables I need > Protect Those Variables from changing on the Next Postback (so the insert statement gets the values Iwant to insert but also set and get the next ones)?
If Not Page.IsPostBack Doesnt Work for me in my Page_Load because each time the page.loads, I need those new Random Variables from a DataSet
Someone had Mentioned ViewState, but I am uncertain how to use it. I just want to protect the variables so that it inserts properly
I am in beginner level on developing web pages. I was coding on desktop applications and as you know it is easy to say that web applications are extremely different than desktop applications.
I wonder why data are lost between postbacks.???? And what is the best way not to lose the data belonging to a specific control (especially gridview). Session or viewstate or anything else?
Never had this happen before. I just upgraded my site from 3.5 to 4.0. Here's the scenario:
1.) I have a literal on a web form, in an UpdatePanel.
2.) On PostBack, the Literal's "Text" property loses it's value. The ViewState is enabled throughout the page. Further, I changed the Literal to a label and it also has this problem. The TextBox's appear to keep their values.
3.) If I remove all of the Ajax controls (which currently is just the UpdatePanel and the ScriptManager) then the Literal control keeps it's value through PostBacks.
4.) There is no client side JavaScript where I'm manually changing the values of these controls. They are only editted in the server side events.
I have read that setting the AutomaticDataBind property in the web.config could remedy this but I can't find any documentation on it and I don't know where to put it in the web.config to even try it.
There is button(btnOpen) and a textbox (txtResult) in the page.
Once I clicked on btnOpen, a modal dialog will appear, displaying TextBox1 and Button1.
The user is required to type something in TextBox1 and I want to pass the TextBox1.Text into my database but when I try to do that, the value actually = "", which is gone.
So I created this test program to illustrate by passing the value into a txtResult.
Can anyone guide me on getting the TextBox1.Text value?
Besides that, is there anyone to tell more about what does this lines of code do?
I have a form that takes the user information. When the user submits the form, after the postback, I need to get all some of the textboxes in the form cleared. I tried disabling the ViewState and ViewStateMode. But both of them failed. Also tried disabling the cacheability for the page. I know I can clear the textboxes on the page load event. But I am curious to know if there is another way to do this.
I have a code below...that dynamically create a checkboxlist.....
....connection code.... Dim da As New SqlDataAdapter(myDBCommand)[code]....
Ok so that works ...data coming from the database populating the checkboxlist...:)when the user click on some values...I want them to go to another page.....ok ..so I have all the values they selected.....page going to another page.....but what I want to do is when they come back to the page where this Dynamic checkboxlist is on...I want to select all the checkboxes they selected. ...before they went to this other page...so how can I dynamically select certain checkboxes from the dynamic checkbox....? the values will be stored in a querystring...not a database....so how can I use the querystring value and re select the checkbox corrisponding to the querystring value?
My app has broken after upgrading to ASP.NET 2.0. The problem is that Request.QueryString is empty when the SelectedIndexChanged event of a IE Web Controls tab strip is fired. It worked perfectly in ASP.NET 1. I have the tab strip contained within my own UserControl.