我有一个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
}
}
Run Code Online (Sandbox Code Playgroud)
因为在回发时,不会重新创建对MyClass的noviTest引用.
您可以将其添加到视图状态以保持对它的引用.(假设MyClass是可序列化的).
在Button1_Click中:
ViewState("noviTest") = noviTest;
Run Code Online (Sandbox Code Playgroud)
然后在Button2_Click中:
var noviTest = ViewState("noviTest");
Run Code Online (Sandbox Code Playgroud)