我有一个布尔变量声明在一个类的顶部,并且当一个单选按钮被选中时,该变量被设置为true,但是当页面被重新加载时,该变量被重置为false。我处理这个的一种方法是使用static关键字,但我不确定这是否是处理此问题的最佳方法。以下是我在Page_Load事件中尝试做的事情的类,但它仍然将变量重置为false。为什么布尔变量总是重置为false;
public class SendEmail
{
bool AllSelected;
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
AllSelected = false;
}
}
protected void rbAll_SelectedIndexChanged(object sender, EventArgs e)
{
if(rbAll.SelectedValue == "All")
AllSelected = true;
}
public Send()
{
if(AllSelected)
{
//Send Email. Never runs because AllSelected is always false;
}
}
}
我可以设置布尔变量为静态吗? – Xaisoft 2009-02-05 20:05:45
如果您将其设置为静态,则它将只在所有请求中具有一个值,包括多人访问该页面时。所以这会变得非常难看。 – 2009-02-05 20:08:57
好吧,我想我需要阅读静态变量,他们仍然有点困惑,哈哈。谢谢。 – Xaisoft 2009-02-05 20:10:13