ViewState 在 post 返回 ASP.NET C# 上不起作用
ViewState doesn't work on post back ASP.NET C#
我正在尝试为值字段创建一个简单的 "recover" 按钮。
由于某种原因,存储在 ViewState 中的字符串不显示。我遵循了一个教程,所以我真的不知道我做错了什么,我还在网上搜索了答案,许多人的主要问题是他们没有在页面中启用 ViewState,而我也没有启用我添加了它(但按钮仍然不起作用)。至于我写代码的方式,或者我如何使用ViewState,我找不到问题。
任何帮助将不胜感激。
这就是我在 Contact.aspx 页面中的内容:
<%@ Page Title="" Language="C#" EnableViewState="true"/*...*/
<asp:TextBox class="form-control" id="usr" runat="server"/>
<asp:Button Text="Send" ID="buttonSend" runat="server"
onclick="buttonSend_Click"/>
<asp:Button Text="Recover" id="buttonRecover" runat="server"
onclick="buttonRecover_Click"/>
这是后面的代码,在 Contact.aspx.cs:
protected void buttonSend_Click(object sender, EventArgs e)
{
ViewState["name"] = Request.Form["usr"];
usr.Text=string.Empty;
}
protected void buttonRecover_Click(object sender, EventArgs e)
{
usr.Text = Convert.ToString(ViewState["name"]);
}
问题是 Request.Form["usr"]
不存在。控件的ID与Form Post Key(是输入控件的name
)不一样
所以要么使用
ViewState["name"] = Request.Form[usr.UniqueID];
或推荐方式
ViewState["name"] = usr.Text;
我正在尝试为值字段创建一个简单的 "recover" 按钮。 由于某种原因,存储在 ViewState 中的字符串不显示。我遵循了一个教程,所以我真的不知道我做错了什么,我还在网上搜索了答案,许多人的主要问题是他们没有在页面中启用 ViewState,而我也没有启用我添加了它(但按钮仍然不起作用)。至于我写代码的方式,或者我如何使用ViewState,我找不到问题。 任何帮助将不胜感激。
这就是我在 Contact.aspx 页面中的内容:
<%@ Page Title="" Language="C#" EnableViewState="true"/*...*/
<asp:TextBox class="form-control" id="usr" runat="server"/>
<asp:Button Text="Send" ID="buttonSend" runat="server"
onclick="buttonSend_Click"/>
<asp:Button Text="Recover" id="buttonRecover" runat="server"
onclick="buttonRecover_Click"/>
这是后面的代码,在 Contact.aspx.cs:
protected void buttonSend_Click(object sender, EventArgs e)
{
ViewState["name"] = Request.Form["usr"];
usr.Text=string.Empty;
}
protected void buttonRecover_Click(object sender, EventArgs e)
{
usr.Text = Convert.ToString(ViewState["name"]);
}
问题是 Request.Form["usr"]
不存在。控件的ID与Form Post Key(是输入控件的name
)不一样
所以要么使用
ViewState["name"] = Request.Form[usr.UniqueID];
或推荐方式
ViewState["name"] = usr.Text;