Mega Code Archive

 
Categories / ASP.Net Tutorial / Sessions
 

Use ViewState to store object list (C#)

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs"  Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">     <title>Untitled Page</title> </head> <body>     <form id="form1" runat="server">     <div>          </div>     </form> </body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page  {     [Serializable]     class Person     {         public string first = "first";         public string last = "last";         public string blog = "http://www.rntsoft.com";     }     protected void Page_Load(object sender, EventArgs e)     {         Person[] people = new Person[500];         for (int i = 0; i < people.Length; i++)         {             people[i] = new Person();         }         ViewState["Folks"] = people;     }     private string _pageGuid = null;     public string PageGuid     {         get         {             if (_pageGuid == null)                 _pageGuid = this.Request.Form["__VIEWSTATE_KEY"];             if (_pageGuid == null)                 _pageGuid = Guid.NewGuid().ToString();             return _pageGuid;         }         set         {             _pageGuid = value;         }     }     protected override object LoadPageStateFromPersistenceMedium()     {         return Session[this.PageGuid];     }     protected override void SavePageStateToPersistenceMedium(object viewState)     {         RegisterHiddenField("__VIEWSTATE_KEY", this.PageGuid);         Session[this.PageGuid] = viewState;     } }