I have searched the web for the answer and saw that mostly variables are saved in viewstate on page.prerender event. Then the value of the variable is set back in page load event.However, when I save a variable in viewstate on prerender or load events, how can viewstate store the value of the variable after it is changed dynamically on codebehind?
Let's say, after page is loaded, user clicked a button which changes the value of the variable in its onClick event. Then the postback event raised since the button was clicked. According to me, the new value should have been lost and cannot be saved in the viewstate if the variable is saved in the viewstate only in prerender event. Because on postback the prerender event wont fire and the value cannot be saved.
Shouldn't I save the variable in the viewstate just before the postback event rises?? If so, how can viewstate store the new value of the variable if the viewstate is saved in prerender event?
i have deployed my website on a particular server. i have some limitations in using viewstate and session variables.
those pages in which i have used ViewState variables (for storing some information), i user accesses that page and does not do any activity for 5 minutes and if after 5 minutes he does any kind of activity (click on Link or button etc) then he receives following error:
"Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster."
another problem is with session. My session expires just after 2-3 minutes. What should i do for maintaining session for long time? i can not use cookies, as if user has disabled the cookies then my website will not work...
At my user-control I populate listbox with collection and want save data in viewstatecontrolstate for further autopostback using.
protected void btFind_Click(object sender, EventArgs e) { var accounts = new AccountWrapper[2]; accounts[0] = new AccountWrapper { Id = 1, Name = "1" }; [code]...
ListBox is populated at button click. When I save accounts to ViewState listBox is empty, when not it displays collection good.
i bind a DataTable to a gridview.i want to use the DataTable in some postback event, and ii want to use viewstate. does gridview save data in viewstate? if no what is the best way to do this.
(full story :i have a custom gridview derived from standard asp.net gridview, and i put a button in header to export data to excel, i want to use data saved in viewstate to export to excel)
I have a problem with ViewState. I have an aspx page that has a treeview on the left and an UpdatePanel with an ASP.NET Panel inside on the right. It is in that inner Panel where I load and unload dynamically user controls. I use that update panel to load dynamically controls.
I also made a custom control for my user controls because I need to pass some values from page. On that constructor I use ViewState to store these values.
The first time I load the user control I call its constructor with parameters. When I reload that user control on each postback I use its normal constructor.
My problem is I the values I've stored on ViewState has become null on successive postback.
Update:
This is a piece of my user control:
public class MyUserControl : System.Web.UI.UserControl { private int PKId { get { return ViewState["pkId"] as int; } set { ViewState["pkId"] = value; } } public MyUserControl(int pkId) { this.PKId = pkId; } ... }
I'm following this article to load controls dynamically: http://msdn.microsoft.com/en-us/magazine/cc748662.aspx#id0070065.
Second Update: I also set the same control ID when I load the user control at first time and on each reaload.
Maybe I can use another method to store these values like input hidden fields or Cache. I've choosen ViewState because I don't want to overload server with Session values for each user.
Third update:
I load the controls with this code:
System.Web.UI.UserControl baseControl = LoadControl(ucUrl) as System.Web.UI.UserControl; if (baseControl != null) { baseControl.ID = "DestinationUserControl"; PanelDestination.Controls.Add(baseControl); }
And reaload with this code:
DynamicControls.CreateDestination ud = this.LoadControl(TrackedUserControl) as DynamicControls.CreateDestination; if (ud != null) { ud.ID = "DestinationUserControl"; PanelDestination.Controls.Add(ud); }
I am looking for an event firing before a DropdownList auto-postback to save Listbox items (populated with JS) in the ViewState.I tried the OnSelectedIndexChanged event but it's fired too late.
I have a composite control that has a couple of private fields that reference values in the cache and these private fields are called during the constructor method. Since a string key is used to identify the value in the cache, I must have a way of storing that string key in such a way that it is available at the time the control is instantiated, and I have to be able to reference it on postbacks without it changing.
In addition, this key is generated the first time the control is loaded, but it should not be changed again after that first time.
How can I accomplish this?
I have already tried saving it to viewstate, but that doesn't work because viewstate is not yet available at the time the control is instantiated.
I have tried using a private field and then checking against Page.IsPostback in the constructor and if it isn't postback, I assign a value to the private field, but on subsequent postbacks it looses it's value, and I can't reassign it in the Page.IsPostBack again because it is an autogenerated GUID.
Consider this code: Partial Public Class MyAspNETClass Inherits System.Web.UI.Page Protected Shared MyVariable As String
Is Myvariable a variable used local for each instance of the page ? Or that variable is "shared" for all users accessing my page? Is MyVariable saved in server memory, or is it saved on the viewstate of aspx page?
When I try to save an object reference in a view state it tries to save the object content using serialisation. to save the object reference only to apply to this object instance after postback?
I am designing a site with that requires users to login in to access info. How do I save the user name and password in viewstate or session. so I can use it in other pages later.
I need some help in the technical approach with the following scenario:-
1) A dropdownlist with some options. It has a postback action on the selectedIndexChange server side event handler. For example, lets say it contains language options such as english, french etc.
2) Repeater with a label and the textbox control. For example label is Emp Name and textbox is containing the Emp Designation. We have to save emp designation in the various languages.
3) Every time i pick something from the dropdown, i have to flip the textbox control and fill the form. Now i want to save the given data of the texbox in the viewstate. So that every time, the user changes the dropdown selection, he can see the repeater data corresponding to the dropdown selection.
4) I guess some kind of relationship between the dropdown option and the repeater data is needed. But how can we make this thing work.
Now which is the best technique to save the data on the server side? I have to keep it in the viewstate.
How to know the FileName AjaxFileUpload in the event Click of a Button without going through earnest for this is what I found that is to say that the FileName is only in the event Designed AjaxFileUpload1_UploadComplete.
i am facing the following problem while saving the viewstate on the server side using the savepagestatetopersistencemedium, but this is not working for the pages which contains update panel.
I have changed the look and feel of the grid by modifying the cols, rows in the gridview. I need to save this in the gridview viewsate, so that it load the modified look and feel next time it loads from the viewsate.
I am using the ajax control toolkit tabcontainer with 5 tab panels inside of it. Each tab contains areas where one must input information. The page also contains add, edit, and delete buttons with gridviews above them. What I am trying to do is to make the user save or cancel changes when they change the activetab. I am using a javascript confirm box but I need to try to retrieve the value of what is pressed from the javascript box to decide whether to discard the changes or stay on the page and make the user finish the input. Is there any way to save the value from the javascript box into a variable so or must i try something else?
PS I wasnt sure whether to post this in the javascript section or the asp.net section since im using asp.net with c#.This is kinda what im using but would like to turn it into a confirm box and pull the true or false value.
How I can get the content of the web page using asp.net ? I want to store html code of one web site into the string variable how I can do this ? I mean there is web site I need to write a program to get the page and store it into string variable.
I am sending search request to server using html form element and in return i am getting xml file displayed in html page i want to save xml file [returned from server] in to variable.
I have created a composite control with sample details as follows. Basically, the first time on page load the control sets a view state variable and the problem is that on post back (when the button is clicked), the ViewState variable is null. I have researched extensively and I am not able to find a solution. I checked all the Microsoft recommended articles and also from other developers. This approach seem to work for everyone
PS: This code may not work as it is only for illustrative purposes. but this is exactly what i'm doing in my code.
Public class Test : CompositeControl { private Button btnTest = new Button(); public string TestViewState[code]....