Iis6 - Dynamically Adding Controls - Viewstate Is Not Retained After 20 Minutes?
Dec 3, 2010
We have a ASP.net form [.NET 3.5 on IIS 6] that loads controls dynamically. We are able to retain the values in the viewstate as long as the postback happens within 20 minutes. The database also gets updated properly. Everything works as expected.
However, If it takes more than 20 minutes for a user to fill out the form, the controls no longer retain their values during postbacks. The session values are intact, the user authentication is also intact. We tried several things
1) Added machine keys to web.config files - we have 2 web servers load balanced by Windows load balancer
2) We confirmed that the user are routed to the same server - because the sessions are sticky
3) Increased the session timeout to 60 minutes in IIS 6.0
4) Increased the Idle timeout for connection pool to 60 minutes
5) Changed Form authentication ticket timeout to 60 minutes
View 3 Replies
Similar Messages:
Jan 10, 2011
I have an asp.net web form, and on it I have two controls (well, more than these two but we'll focus on these) - the first is an asp:dropdownlist and the second is an asp:table.
Both of these controls are declared on the HTML side, and filled (child controls added) in the code-behind page.
My simple question (hopefully with a simple answer) is this:
Why does the viewstate persist for the dropdownlist, and NOT for the table?
I have to fill the table on every page load, but I can fill the dropdownlist once (using Not Page.IsPostBack), and it persists.
NOTE: I have read about the lifecycle of ASP.NET pages, and I have tried placing these same calls in the Init() and PreInit() page events with the same results.
View 3 Replies
Jan 24, 2010
I'm having a problem with a web app I'm managing. Users starting receiving the following error occasionally:
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.
The problem is that it's not a cluster - it's a single Windows 2003 server. After digging around, it appears that adding a machineKey section and some extra attributes to the Pages directive in my web.config resolves this error:
<machineKey validationKey='MACHINE KEY SNIPPED'
decryptionKey='DECRYPTION KEY SNIPPED'
validation='SHA1'/>
<pages validateRequest="true" enableEventValidation="false">
After changing these two things in my web.config, the error goes away, but now I have a new problem - Instead of an error that my viewstate is invalid, the app just "Forgets" who my user is, and sends them back to the login page. Now, the users are browsing through the application, and then they're unexpectedly sent to the login page, even after they've already been logged in for a few minutes. While I can't force this to happen, it usually happens within visiting 10-12 different pages, so pretty frequently.
I'd love a resolution to this - does anybody know what else might be causing the viewstate error on a single server, or what I can do to ensure that it's validated properly?
View 2 Replies
Jan 14, 2011
If you open a web page on one of the websites hosted on our server, and leave it for 20 minutes, and then submit a form, a "Validation of viewstate MAC failed." error occurs.
What possible reasons could there be for this?
View 2 Replies
Aug 27, 2010
I have received an error "Validation of viewstate MAC failed".
I am hosting the web site on my own server, so there is nothing like a "Web Farm or cluster". Can you advise what could be the problem with this error.
I only get this error if the page is left inactive for more then 20 minutes and it throws the exception, so users have log-off and login to continue working fine.
See below full error details.
[code]....
View 10 Replies
May 9, 2010
I have a problem in my web site ...
When ever i left my website idle ...
The following message is displayed ...
After this message is displayed , no pages is able to access ....
The error message is :
Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster
View 2 Replies
Mar 1, 2010
Manually Adding GridViewRow Throwing Off Viewstate
View 6 Replies
Oct 7, 2010
I'm running ASP.NET on an IIS6 server. Right now the server is set up to compress dynamically generated content, mainly to reduce the page size of ASPX files that are being retrieved.
Once of the ASPX files has the following bit of code, used to fetch a file from the database and send it to the user:
Response.Clear();
Response.Buffer = true;
Response.ContentType = Document.MimeType;[code]....
The download itself works perfectly. However, the person downloading the file doesn't get a progress bar, which is incredibly annoying.
From what research I've been doing, it seems that when IIS sets the transfer-encoding to chunked when compressing dynamic content, which removes the content-length header as it violates the HTTP1.1 standard when doing that.
What's the best way to get around this without turning dynamic compression off at the server level? Is there a way through ASP.NET to programatically turn off compression for this response? Is there a better way to go about doing things?
View 1 Replies
Mar 8, 2010
How to maintain view state for the dynamically added html controls to a table using javascript(Below is the javascript which I am using to add HTML Controls Dynamically"). Because during the postbacks if I found any error while validating the data present in the dynamically added html controls, the controls are loosing their state and again I need to start adding rows and add data.
[Code]....
View 3 Replies
Jan 20, 2011
I read this article first to try to solve this issue, but I am already loading the controls in the Init phase of the page, yet viewstate is not persisting. Any ideas as to why? (Of note is that this is for a custom module in DNN and I do have some AJAX update panels on the page, though this section is not within an update panel, for what it's worth.)
As an overview of what I've got:
1. LoadControl.ascx - based on reading query string parameters, determines whether to load the master or the detail .ascx.
2. Master.ascx
3. Detail.ascx
In my master control I dynamically load either a master or detail sub-control in the page_Init. The detail page has a treeview control and then uses a multi-view control to display the panel associated with the depth of the node selected on the tree. On the panel being displayed I have a cascading ddl within a detailsview control which initiates a postback to select the child ddl based on the parent ddl selection. However, when the page refreshes after the postback, both ddls have resorted to their default selection.
What is interesting however, and I just realized this as I am typing, is that the Treeview is populated when the page comes back from the postback, so that is only possible if viewstate is being persisted right? (See the page_load code and you'll see that Call PopulateRootLevel(intTreeUserID) which populates the treeview, is not called on postbacks....hmmm.
Any ideas as to why the treeview maintains viewstate but not my ddls???? But though the tree is populated, I do have to explicitly select the node again and set the panel that the detailsview control is on to visible again too....
Here is the dynamically loaded control code:
[Code]....
And in the Detail.ascx page load I've got:
[Code]....
[Code]....
View 6 Replies
Apr 24, 2010
I have ONE <asp:Button ID="btnAddUC" runat="server" ......./> and ONE <asp:Table ID="tblUC" runat="server"...> on my page. User clicks on btnAddUC, user control is added to the page [user can add 'n' user controls to the page]. here I have no problem, adding user controls to the page on user clicks.
My user control has ONE <asp:DropDownList ID="ddlItems" runat="server" ......./> and ONE <asp:CheckBoxList ID="chkItems" runat="server"..../>. I am exposing "ddlItems" by public method, "chkItems" is not exposed. "chkItems" is binded on SelectedIndexChanged event of "ddlItems".
Execution scenario:
User adds user control to the page, select item from the "ddlItems" ( Note: "ddlItems" is exposed by public property ) , "chkItems" is populated ( using ddlItems.SelectedItem.Value ) . User checks some checkboxes in "chkItems" and then decide to add one more user control. When the second user control is added to the page, checkboxes in the first usercontrol lose their state and apeears unchecked (NOTE: user checked some checkboxes and then added another user control).
I want to put checked beckboxes index in session ( Before another control is added, which event I should use, because at LOAD event there is nothing).
I was able to restict SelectedIndexChanged event to only that user control whcih generated it (checking _EVENTTARGET)
View 9 Replies
Jan 14, 2011
I have a page that loads a usercontrol dynamically. Depended on the user's actions, this control may be unloaded in Page_PreRender and a different control may be loaded instead. I am attempting to use the solution outlined by Mark DotNet Evans in this post:
http://forums.asp.net/p/1491790/3814320.aspx
This all works great, except if the user clicks the refresh button in the browser just after the change of usercontrol. Then, I get an error
Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. ...
I assume the error is caused by the browser re-posting the request with the old viewstate that matched the control tree when the page was loaded, but no longer does. How can I prevent getting an error when the user reloads the page?
View 6 Replies
May 23, 2010
I am writing a search results page for an airline booking system. I have Next/Previous buttons to view flights for the next or previous days. The way i have done my results grid is that i use an HtmlTable and dynamically add rows, cells and controls into the cells. This gives ultimate flexibility given that we can add any control type we want and have it function as it does everywhere else in the system. As you should be aware - i must recreate these controls each time the page is reloaded (in the page_init event) since asp does not handle this automatically.
When they go next/previous it refreshes the flight data and re-populates the grids. If they select a flight in the return grid (by checking the RadioButton), and go next on the FIRST leg grid, the selection of the return leg stays the same after the postback
- which is great. But the problem is, if the flight they selected on the return leg is no longer available it will not create the control and i get the following error;
"Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request."
Is there any way to tell asp.net that if you do not find the control anymore, simply ignore it rather than throwing the error? The nature of this design is that there potentioally WILL be a different layout after the page is posted back.
View 7 Replies
Feb 13, 2011
I want to redirect the user after 2 mins if there is inactivity for 2 mins. I am not using ASP.NEt membership. And I dont want to use Sessiontimeout for this. Session timeout will logout the user even if he is working on the system. My objective is like screensaver process.
If there is no action for the specified time, the screensaver runs. Similarly, I want to redirect the user to login page.
note that i have already handled it with the following javascript:
[Code]....
Here what my problem is,
the user is working on the site...ok.. he want to see someother site.he browse someother site and works on....or even he can do some other work in his system...but he is active in his system... What this script does is, it automatically logout the user and redirect him to login page. But it should not do while he is active...IT SHOULD REDIRECT IF HE IS NOT ACTIVE REALLY (Similar to Screensaver process)
Is it possible ?
View 1 Replies
Jul 22, 2010
here is the requirement:
i have a lable a textbox, and two buttons(+ and - button) on my asp.net page.
so when i click on the plus button it should add the the whole collection of controls to the page(i.e. lable, textbox and two buttons). And when i click on minus button it should remove the collection.
This should go on.meaning whenever i click on any plus button the control collection should get added to the page.
I am wondering what will be the best approach to do it.
View 3 Replies
Jun 22, 2010
I'm listing some controls at my web page dynamically, either I'm adding newline with Label's.
Label newLine = new Label();newLine.Text = "<br/>"; myPanel.Controls.Add(newLine);
How can I do it in a different way?
View 2 Replies
Feb 20, 2010
I am adding controls dynamically in my webpage.
I add them in onload method.
everything is working fine..
But I m a bit confused about how it works..
I have read in so many articles that all controls get their values from viewstate before load event. Then how my dynamically added controls get their values when i am adding them in OnLoad event ie after LoadPostData event.
View 2 Replies
Jan 29, 2010
I have one table control "table1"
And added controls to it in click event of one button as :
[Code]....
but i cant retrieve this controls in click event of another button. i think it is because of postback.
View 1 Replies
Sep 5, 2010
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.
Here's what I have:
[Code]....
[Code]....
[Code]....
[Code]....
[Code]....
Here's the markup from my ASPX file...
[Code]....
View 4 Replies
Feb 7, 2011
I have a web page where users need to enter customer contact information. They could enter from 0 to an infinite number of contacts.
I created this page code on page:
<ajaxToolkit:ToolkitScriptManager runat="Server" EnablePartialRendering="true" ID="ScriptManager1" />
<asp:PlaceHolder ID="phCustomerContacts" runat="server" EnableViewState="true">/asp:PlaceHolder>
<asp:LinkButton ID="btnAddContact" runat="server" OnClick="btnAddContact_Click" CssClass="LinkButton" Text="Add Contact"/>
In my code behind I added this:
public void btnAddContact_Click(object sender, EventArgs e)
{
IList<CustomerContactProfile> customerContacts = new List<CustomerContactProfile>();
if (ViewState["CustomerContactList"] != null)
customerContacts = (List<CustomerContactProfile>)ViewState["CustomerContactList"];
CustomerContactProfile contactProfile = (CustomerContactProfile)LoadControl("~/Controls/Embedded/CustomerContactProfile.ascx");
customerContacts.Add(contactProfile);
foreach (CustomerContactProfile contact in customerContacts)
phCustomerContacts.Controls.Add(contact);
ViewState["CustomerContactList"] = customerContacts;
}
This code doesn't work because the ViewState can't handle storing all of that control data. However, I cannot think of another way to store the controls that were already added.
The viewstate of the asp:PlaceHolder control doesn't save anything and I need the controls to be saved so that if a user puts in some data to the first control that the data isn't lost when they add a second one and so on.
View 6 Replies
Aug 5, 2010
I have a dropdown list on my homepage which users select a category. After selecting the category, user will fill a form which has related controls to that category in it.
As I have many categories, I just want to have single ascx page and adding controls to it dynamically according to the user choice.
For example: One chose Telephone category, he will face a form having drop down lists asking, what brand? what color? And one chose, book category, he will face drop down lists asking which type? howmany pages?
So 1 ascx must do my work at runtime done as I have alot of categories.
I am going to take these criterias from a database table which has CategoryID and Criteria colomns.
And if I can do that, will it be possible to add field validators to these dynamically created controls.
View 1 Replies
Jun 30, 2010
Dim AlterTable As String = "alter table [Upload] add [Country] nvarchar (50) default 0 NOT NULL,[Address] int default 0 NOT NULL"
Dim connection As Data.SqlClient.SqlConnection
connection = New Data.SqlClient.SqlConnection()
connection.ConnectionString = ConfigurationManager.ConnectionStrings("ASPNETDBconnectionString1").ConnectionString
Dim cmdUpdating1 As New Data.SqlClient.SqlCommand(AlterTable, connection)
cmdUpdating1.CommandType = CommandType.Text
connection.Open()
cmdUpdating1.ExecuteNonQuery()
connection.Close()
This is the code which I am using for altering the number of columns in a table in the DB. so with this code i am able to add new coulmns dynamically. Now my major requirement in this is to obtain the headercount from the user( say "telephone number" and "language") and based on it generate the columns dynamically in the table in the DB.
View 12 Replies
Jul 15, 2010
I have a Data Repeater to which I need to add x number of images depending on their existence in the database.
I need the images added within hyperlinks for Javascript functionality. In order to dynamically add the hyperlinks and images I have placed them within a panel in the data repeater and am adding them in the ItemDataBound event.
The problem is that only the first image is being written to the datarepeater.
[code]....
View 2 Replies
Oct 23, 2010
Is there a way to add asp.net server side control dynamically on the webpage without causing postback. Like can I add a calender control dynamically on a button click and handle calender events to do some other work....
View 1 Replies
Feb 11, 2010
I am using jquery ajax method to get data from a web method and present data using DOM(similar to that of google search results).B'coz the data returned from the web method is huge I want to paginate the results.For that I need to create buttons corresponding to the page numbers based on the no. of records the web method retrieves from the database.So I have taken a div on the page.In the web method ,as soon as I can find the number of records obtained from the database,I want to create the buttons and add to this div and display 10 records per page.As far as I know, it is not possible to access anything that is placed on the asp.net page from Web method.In that case how do I paginate the results?
View 2 Replies