我认为我遇到的问题与我对类和对象的理解有关。
这个问题分为两部分。
如何在我的代码后面的任何按钮或方法中访问car1对象。
protected void Page_Load(object sender, EventArgs e)
{
Cars car1 = new Cars();
car1.Name = "Chevy";
}
protected void Button1_Click(object sender, EventArgs e)
{
TextBox1.Text = car1.Name.ToString();
}
car1.Name.ToString();
在按钮操作中不可见。
答案 0 :(得分:3)
您在car1
方法中声明Page_Load
变量,使其仅对该方法可见。
你需要把它变成一个字段 - 在所有方法中声明它 。
Cars car1;
protected void Page_Load(object sender, EventArgs e)
{
car1 = new Cars();
car1.Name = "Chevy";
}
protected void Button1_Click(object sender, EventArgs e)
{
TextBox1.Text = car1.Name.ToString();
}
完成此操作后,您需要注意仅在初始化后调用car1
上的方法(即我示例中的Page_Load
的第一行),否则您将获得NullReferenceException
}。
可以避免可能的异常的替代方法是在声明期间初始化,就像您在示例中所做的那样(仅作为字段而不是方法变量):
Cars car1 = new Cars();
protected void Page_Load(object sender, EventArgs e)
{
car1.Name = "Chevy";
}
protected void Button1_Click(object sender, EventArgs e)
{
TextBox1.Text = car1.Name.ToString();
}
答案 1 :(得分:-1)
我建议将Car放入课堂中的一个属性,并使用viewstate。
public Cars Car {
get {
return (Cars) ViewState["Car"];
}
set {
ViewState["Car"] = value;
}
}