C# 我能给一个变量赋值吗?这个变量在每个作用域中都与这个变量相关联?
我能给变量int赋值并且在任何范围内都不会丢失这个值吗? 问题是我在某些作用域中为变量赋值,但在其他作用域中变量返回其默认值零。。 例如:C# 我能给一个变量赋值吗?这个变量在每个作用域中都与这个变量相关联?,c#,asp.net,C#,Asp.net,我能给变量int赋值并且在任何范围内都不会丢失这个值吗? 问题是我在某些作用域中为变量赋值,但在其他作用域中变量返回其默认值零。。 例如: protected void Button_AddNewCourse_Click(object sender, EventArgs e) { ID = 10; } 所以当我尝试在其他函数中使用ID时,它会返回到零 protected void AnotherFunction(object sender, EventArgs e) {
protected void Button_AddNewCourse_Click(object sender, EventArgs e)
{
ID = 10;
}
所以当我尝试在其他函数中使用ID时,它会返回到零
protected void AnotherFunction(object sender, EventArgs e)
{
// Variable ID here is zero
}
也许尝试使用只读变量?猜测一下,也许您是ASP.NET的新手,还没有弄明白为什么页面级变量在回发之间不保持状态。试着读一读有关州和州的书 或用于一般概述: e、 g.根据您的代码示例,您可以使用会话条目来存储值:
protected void Button_AddNewCourse_Click(object sender, EventArgs e)
{
Session["ID"] = 10;
}
protected void AnotherFunction(object sender, EventArgs e)
{
int tempID = (int)Session["ID"];
}
您还可以做很多其他事情—例如,使用Viewstate。更改与此类似的行,该行可能位于以下位置:
public int ID { get; set;}
差不多
// keep the value of ID in this page only
public int ID { get { return (int)ViewState["ID"]; } set { ViewState["ID"] = value; } }
或
这个问题非常不清楚。一些示例代码将非常有帮助。很抱歉不清楚…真的,我不知道如何编写它,因为它太简单了。这正是我想要的,谢谢!。。。但是如何在c no asp.net中使用桌面应用程序实现这一点呢?使用公共静态int ID{get;set;},然后像SomeForm.ID一样调用变量。
// keep the value of ID in every page
public int ID { get { return (int)Session["ID"]; } set { Session["ID"] = value; } }