我在 aspx 页面中使用 asp.net 和这段代码:
public partial class Default : System.Web.UI.Page
{
string _Name;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
_Name = "Maikel";
ViewState["Name"] = _Name;
}
}
protected void btnAddName_Click(object sender, EventArgs e)
{
if (ViewState["Name"] == null)
{
txtName.Text = "Empty";
}
else
{
txtName.Text = ViewState["Name"].ToString();
}
}
}
没关系。并在文本框中显示“Maikel”。但是当我使用这段代码时:
<%@ Page Language="C#" AutoEventWireup="true" **ViewStateMode="Disabled" EnableViewState="true**" CodeBehind="Default.aspx.cs" Inherits="WebApplication3.Default" %>
ViewState["Name"]
是Empty
!并在文本框中显示“ Empty
”。为什么?
请帮助我ViewState
使用ViewStateMode="Disabled" EnableViewState="true"
。
编辑:
我使用母版页和(使用母版页的网页),并在母版页中编写此代码:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" ViewStateMode="Disabled" EnableViewState="true" Inherits="WebApplication3.Site1" %>
和代码ViewState["Name"]
后面的代码(使用母版页的网页),ViewState 不是空的!为什么?