我在.NET中编写了这段代码。当我想通过点击button2来改变's'时,它不会改变。我的意思是在单击button2然后我单击Button1以查看更改但没有任何更改。如何正确更改和访问's'的值。我做错了什么?
public string s;
public void Button1_Click(object sender, EventArgs e)
{
Label1.Text = s;
}
public void Button2_Click(object sender, EventArgs e)
{
s = TextBox1.Text;
}
答案 0 :(得分:3)
您需要了解Web应用程序的工作方式。
在每个帖子中都会加载处理页面的类的实例,因此当您单击按钮1时,页面会回发并再次加载,因此这样变量s不会加载您的内容
要使此代码有效,您需要在页面视图状态中保存S值。
尝试替换“public string s”;有了这个:
public string s
{
get { return (string)ViewState["myValue"]; }
set [ ViewState["myValue"] = value };
}
有关页面生命周期的更多信息,请访问:http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx