viewState復号

4808 ワード

1.View Stateはドメインを非表示にすることで実現されます. 2.ViewStateは、サーバ側がユーザの状態情報を保持するために作成するメカニズムであるため、ViewStateはサーバ側コントロールにのみ適用される.(ViewStateは、サーバー側フォームまたはサーバー側コントロールを使用している場合にのみ自動的に生成されます.)一般的には、サーバ側のコントロールのステータスを保存するために使用されます.3.すべての要素がViewState情報を記録するわけではないし、すべてのサーバ側コントロールがViewState情報を記録するわけではない、asp.Netは、必要に応じて、一部のコントロールのView State情報を記録するように選択します.
viewState.aspxページviewStateが無効になっていないときのHTMLソース
<!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><title>

</title></head>
<body>
    <form method="post" action="viewState.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTI2NTY4ODI3MQ9kFgICAw9kFgICAQ8PFgIeBFRleHQFATBkZGQHx94b8VXnJ3QTOcyQ2gM/qme6s7sGZPT+Thk8fqFDgw==" />
</div>

<div class="aspNetHidden">

	<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="DBC4925F" />
	<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEdAALsHWcNMonzwDOLWj7/9QYVzfg78Z8BXhXifTCAVkevd0yXDRULO5UzsYA2fNTFUwqWyvp+ZNtJ0SmOMXTH8pgm" />
</div>
    <div>
      
       
        <span id="Label1">0</span>
    </div>
    <input type="submit" name="Button1" value="  " id="Button1" />
    </form>
</body>
</html>

viewStateとは:viewStateとは、データを格納するためのコンテナです.[主にname属性がなくvalue属性がない、またはname属性があるが、divのtext値やinputのbuttonフォームのwidth,height属性値などの非value値のフォーム属性値を保存する]
viewState.aspxコード
<%@ Page Language="C#" EnableViewState="false"  AutoEventWireup="true" CodeBehind="viewState.aspx.cs" Inherits="WebApplication2.viewState" %>
 <%--EnableViewState="false"       viewState;    EnableViewState="false"      viewState--%>
<!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></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      
       <%-- Label.Text      Label--%>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
    <asp:Button ID="Button1" runat="server" Text="  " onclick="Button1_Click" />
    </form>
</body>
</html>

viewState.csコード
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication2
{
    public partial class viewState : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack) //          (              (  button  )       )    Label Text   0; 
            {
                Label1.Text = "0";
            }
            else
            {
                Label1.Text = Label1.Text;
            }
            
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            //Console.WriteLine(Label1.Text);
            int i = Convert.ToInt32(Label1.Text);//【     viewState    】      http://localhost:5045/viewState.aspx     ,          ,   Page_Load       Label1.Text        "Label"   "0" 。       “  ”  ,  onClick      Button1_Click  ,   i=0;          viewState    ,Label Text (0)           hidden value  。     Label1.Text   0  , int i   0 

            //【   viewState    】      http://localhost:5045/viewState.aspx     ,          ,   Page_Load       Label1.Text        "Label"   "0" 。     “  ”  ,  onClick      Button1_Click  ,   Label.Text=Label1;        viewState    ,Label Text (0)               hidden value   。  ,   (  )         , Label1.Text    0 ,     Label1 Text   ,           "Label1",      “0”          hidden value          ,                          ,          “Label1”       Label1.Text   Label1  ,  int i   "Label1"     int   ,         。
            i++;
            Label1.Text = i.ToString();
        }
    }
}