Mega Code Archive

 
Categories / ASP.Net Tutorial / Custom Controls
 

Supporting Control State

File: ControlStateControl.cs using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace myControls {     public class ControlStateControl : WebControl     {         private string _controlStateText;         public string ViewStateText         {             get             {                 if (ViewState["ViewStateText"] == null)                     return String.Empty;                 else                     return (string)ViewState["ViewStateText"];             }             set { ViewState["ViewStateText"] = value; }         }         public string ControlStateText         {             get { return _controlStateText; }             set { _controlStateText = value; }         }         protected override void OnInit(EventArgs e)         {             Page.RegisterRequiresControlState(this);             base.OnInit(e);         }         protected override object SaveControlState()         {             return _controlStateText;         }         protected override void LoadControlState(object savedState)         {             _controlStateText = (string)savedState;         }         protected override void RenderContents(HtmlTextWriter writer)         {             writer.Write("ViewStateText: " + ViewStateText);             writer.WriteBreak();             writer.Write("ControlStateText: " + ControlStateText);             writer.WriteBreak();         }     } }              File: Default.aspx <%@ Page Language="C#" %> <%@ Register TagPrefix="custom" Namespace="myControls" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">     void Page_Load()     {         if (!Page.IsPostBack)         {             ControlStateControl1.ViewStateText = "Hello World!";             ControlStateControl1.ControlStateText = "Hello World!";         }     } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">     <title>Show Control State</title> </head> <body>     <form id="form1" runat="server">     <div>     <custom:ControlStateControl         id="ControlStateControl1"         EnableViewState="false"         Runat="server" />     <asp:Button         id="btnSubmit"         Text="Submit"         Runat="server" />     </div>     </form> </body> </html>