昨天去一个公司面试,有一位仁兄遇到了一个这样的问题,我去想了想知道了为什么,但是不知道怎么解决了,问题如下:
public partial class Default2 : System.Web.UI.Page
{
private int i;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
this.i = 5;
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Write(this.i);
}
}
我声明了一个成员变量i;然后在Button1_Click事件触发的时候给它一个值,但是为什么在Button2_Click事件中它的值为零,这是因为在这两个事件触发时它们可能处理的不同对象,Button1_Click事件触发一次它向服务器端提出一次请求,可能是两次的Page类对象不一样吧!我想可以把它存在一些Session中,肯定是可以解决问题的,但是我觉得这样浪费资源,求各位大虾简单的解决办法.
谢谢了!