Mega Code Archive

 
Categories / ASP.Net Tutorial / Sessions
 

Setting and retrieving objects from the Session using State Service and a base page (C#)

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs"  Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">     <title>Session State</title> </head> <body>     <form id="form1" runat="server">     <div>         <asp:TextBox ID="TextBox1" Runat="server"></asp:TextBox>         <asp:Button ID="Button1" Runat="server" Text="Store in Session"           OnClick="Button1_Click" />         <br />         <asp:HyperLink ID="HyperLink1" Runat="server"           NavigateUrl="NextPage.aspx">Next Page</asp:HyperLink>     </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 : SmartSessionPage  {     protected void Button1_Click(object sender, EventArgs e)     {         string[] names = TextBox1.Text.Split(' ');         Person p = new Person();         p.firstName = names[0];         p.lastName = names[1];         Session["myperson"] = p;     } } File: NextPage.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="NextPage.aspx.cs" Inherits="Retrieve" %> <!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: NextPage.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; 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; [Serializable] public class Person {    public string firstName;    public string lastName;    public override string ToString()    {       return String.Format("Person Object: {0} {1}", firstName, lastName);    } } public class SmartSessionPage : System.Web.UI.Page {     private const string MYPERSON = "myperson";     public Person MyPerson     {         get         {             return (Person)Session[MYPERSON];         }         set         {             Session[MYPERSON] = value;         }     } } public partial class Retrieve : SmartSessionPage {     protected void Page_Load(object sender, EventArgs e)     {         Person p = MyPerson;         Response.Write(p); //ToString will be called!     } }