如何在ASP.NET PostBack中传递变量?

时间:2018-11-07 21:03:16

标签: asp.net viewstate

我试图通过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?

谢谢。

1 个答案:

答案 0 :(得分:0)

因为第一次您使用错误的密钥更新ViewState ...

替换为行

ViewState [“ Print”] =“ Small”;

使用

ViewState [“状态”] =“小”;