我得到“非静态字段需要对象引用”.非静态方法的异常.我做错了什么?
本文关键字:静态方法 异常 错了 什么 静态 字段 对象引用 | 更新日期: 2023-09-27 18:10:18
我有一个默认页面和一个分析页面,在默认情况下,我有一些单选按钮来改变一个表,但我得到一个"非静态字段需要对象引用"编译异常,一切都是非静态的,我还没有弄清楚为什么我得到这个错误。
下面是_Default的代码:public partial class _Default : System.Web.UI.Page {
public bool Carro {
get { return radCarroSi.Checked ;}
}
}
下面是analysis的代码:
public partial class Analisis : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
_Default prevPage = PreviousPage as _Default;
if (prevPage != null) {
if (_Default.Carro == true) {
row8.Visible = false;
}
}
}
}
}
你能帮我吗?我相信这很容易,但由于我是asp的新手,我还没有看到这个问题。
您没有_Default
的实例:
你只是在引用类名,而不是类的实例。
进一步详细说明。
public class YourClass
{
public bool Carro { get; set; }
}
YourClass instance = new YourClass(); // this would create a new instance of `YourClass`.
您可以像使用_Default.Carro
一样使用instance.Carro
来引用它
然而,我相信你正试图确定Carro
的值是否已在页面中检查,ASP.NET
不太像这样工作,你需要了解如何管理客户端和服务器之间的状态。这可以通过ViewState, Session, Cookies and Query Strings
你不能检查一个单选按钮是否在另一个页面中被选中,所以这一行将不能在analysis页面中工作(此外,你甚至没有_Default的实例):
if (_Default.Carro == true) {
row8.Visible = false;
}
您需要使用Session, Querystring或其他方法在页面之间传递单选按钮值