Windows窗体网站重置属性值?

时间:2013-06-23 22:07:01

标签: c# asp.net webforms

在处理事件期间,我的属性值有问题。 我在Windows窗体网站上有2个按钮,buttonA和buttonB。这是我背后的代码:

public bool Clicked {get; set;}

public void Page_Load(object sender, EventArgs e)
{
    Clicked = false;
}

public void buttonA_Click (object sender, EventArgs e)
{
    Clicked = true;
}

public void buttonB_Click (object sender, EventArgs e)
{
    if (Clicked)
    {
         // JS box pops out
    }
}

像这样的东西。通过调试,当我点击buttonA时,Clicked设置为true,但是在它之后我点击buttonB,它是false并且没有显示此消息框。为什么会这样?

1 个答案:

答案 0 :(得分:2)

ASP.Net WebForms为每个服务器回发创建一个单独的页面类实例 HTTP请求中不保留任何实例状态。

要保留状态,您需要将其存储在ViewState或会话状态中。


此外,您无法在服务器端代码中调用MessageBox.Show等UI方法 你需要使用Javascript。