请帮助我找出此代码出了什么问题:
我有一个按钮可见的ASP.NET页。
用户单击它时,它将实例化MyClass(其实现位于AppCode目录中)并变为不可见(button2变为可见)。
当我单击button2时,它引发“对象引用未设置为对象的实例”异常。
似乎是什么问题?
{
public MyClass noviTest;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
noviTest = new MyClass(TextBox1.Text);
Button1.Visible = false;
Button2.Visible = true;
}
protected void Button2_Click(object sender, EventArgs e)
{
Label1.Text=noviTest.getID; //this is the critical line
}
}
最佳答案
由于回发后,不会重新创建对MyClass的noviTest引用。
您可以将其添加到viewstate中以保留对其的引用。 (假设MyClass是可序列化的)。
在Button1_Click中:
ViewState("noviTest") = noviTest;
然后在Button2_Click中:
var noviTest = ViewState("noviTest");