在处理事件期间,我的属性值有问题。 我在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并且没有显示此消息框。为什么会这样?
答案 0 :(得分:2)
ASP.Net WebForms为每个服务器回发创建一个单独的页面类实例 HTTP请求中不保留任何实例状态。
要保留状态,您需要将其存储在ViewState或会话状态中。
此外,您无法在服务器端代码中调用MessageBox.Show
等UI方法
你需要使用Javascript。