0

在处理事件期间,我的属性值有问题。我在 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,并且此消息框不显示。为什么会这样?

4

1 回答 1

2

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

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


此外,您不能像MessageBox.Show在服务器端代码中那样调用 UI 方法。
您需要使用 Javascript。

于 2013-06-23T22:10:00.077 回答