【发布时间】:2018-11-08 15:52:48
【问题描述】:
我正在尝试通过 PostBack 将变量传递回 ASP.NET 网页。按钮按下的状态变量存储在 ViewState 中。这里的问题是我需要按两次按钮才能将更改的状态发送到页面。
ViewState 被 Page_Load 读取:
protected void Page_Load (object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["Print"] = "Small";
Response.Write ("Status: " + ViewState["Status"].ToString());
}
else
Response.Write ("Status: " + ViewState["Status"].ToString());
}
按钮按下的 ViewState 由以下方式设置:
protected void ImageButton_LargeStatus_Click (object sender, ImageClickEventArgs e)
{
ViewState["Status"] = "Large";
}
为什么我需要按两次 ImageButton 才能更改 ViewState?
谢谢。
【问题讨论】:
-
去掉“!”?
-
您期待什么?
ImageButton_LargeStatus_Click在 PostBack 之后和该 PostBack 中的Page_Load之后运行。所以你只能在第二个 PostBack 中查看“Large”。