ViewState

ViewState — это механизм, с помощью которого сохраняется представление веб-страницы между циклами ее обработки.

По умолчанию, страница имеет ViewStateMode="Enabled", а элементы на странице имеют ViewStateMode="Inherit", поэтому, если Вы явно не зададите для элемента управления другое значение, то оно будет "Enabled".

ViewStateMode="Enabled" — сохраняет состояние элемента
ViewStateMode="Disabled" — не сохраняет состояние элемента
ViewStateMode="Inherit" — наследует от родительского элемента, значение по умолчанию
Скрыть

Показать

Копировать
  Default.aspx  
<%@ 
 Page Language="C#" 
 AutoEventWireup="true" 
 CodeFile="Default.aspx.cs" 
 Inherits="_Default"
%>
 
<!DOCTYPE html>
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
 <meta charset="utf-8" />
 <title></title>
 <style>
  h1 {
   text-align: center;
  }
  #Button1, #Button2 {
   width: 150px;
   cursor: pointer;
  }
  #TextBox1 {
   text-align: center;
  }
 </style>
</head>
<body>
 <form id="form1" runat="server">
  <div>
   <h1>число загрузок страницы = <% Response.Write(number); %></h1>
   <span>значение : </span>
   &nbsp;&nbsp;
   <asp:Label ID="Label1" runat="server" Text="по умолчанию"></asp:Label>
   <br />
   <br />
   <span>значение : </span>
   &nbsp;&nbsp;
   <asp:Label ID="Label2" runat="server" Text="по умолчанию"></asp:Label>
   <br />
   <br />
   <span>значение : </span>
   &nbsp;&nbsp;
   <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
   &nbsp;&nbsp;
   <asp:Button ID="Button1" runat="server" Text="Установить" OnClick="Button1_Click" />
   &nbsp;&nbsp;
   <asp:Button ID="Button2" runat="server" Text="Обновить страницу" OnClick="Button2_Click" />
  </div>
 </form>
</body>
</html>
Скрыть

Показать

Копировать
  Default.aspx.cs  
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
public partial class _Default : System.Web.UI.Page {
 /*число загрузок страницы*/
 protected static int number = 0;
 protected void Page_Load(object sender, EventArgs e) {
  /*если это первая загрузка страницы*/
  if(!IsPostBack) {
   number = 1;
  }
  else {
   ++number;
  }
 }
 //установить
 protected void Button1_Click(object sender, EventArgs e) {
  Label1.Text = TextBox1.Text;
  Label2.Text = TextBox1.Text;
 }
 //обновить
 protected void Button2_Click(object sender, EventArgs e) {
 
 }
}
Все ViewStateMode="Inherit" — наследует от родительского элемента, значение по умолчанию, т.е. включены.
Вводим значение 10 и перезагружаем страницу.
В элементе Label2 устанавливаем ViewStateMode="Disabled", которое не сохраняет состояние элемента.
Вводим значение 10 и перезагружаем страницу.