我们可以将数据列值分配给变量,并以不同的方法使用此变量。 我有以下代码
button_click()
{
create and fill data set as data adapter.fill(data set,"ABC");
and then
int x= data set.tables["ABC"].rows[0]["col name"] ;
}
and i have another method button_click2()
{
int y = x;
}
我能这样做吗?或者有什么方法可以将数据set.tables [“ABC”]。rows [0] [“col name”]值直接分配给x
答案 0 :(得分:0)
由于您没有指定它是Web应用程序或窗口应用程序,我将按照下面的说明回答它。
在这种情况下,页面将进行回发,您的变量将丢失。所以只有你可以保存值的方法是将它添加到viewstate / session / pass作为查询字符串到同一页面或将它放在一些隐藏的控件中。
从一个页面中保留ASP.NET中变量的最佳选择方法 加载到下一个是将它们存储在viewstate中,这是一个隐藏的输入。
您可以在ViewState中存储项目,如:
ViewState[key] = value;
And retrieve it like:
value = ViewState[key]
OR
Session["username"] = username
And access it
String Username = Session["username"];
如果它的Window应用程序可以有一个全局变量,它将在事件之间保留。
Public class Test{
private int x= 0;//this is global here.
button_click()
{
create and fill data set as data adapter.fill(data set,"ABC");
and then
x= data set.tables["ABC"].rows[0]["col name"] ;
}
and i have another method button_click2()
{
int y = x;
}
}
答案 1 :(得分:0)
如果您在方法外创建变量,则可以在类中的任何位置使用它。
public class Test
{
private int ColValue {get;set;} //This is a property
button_click()
{
ColValue = Convert.ToInt(dataset.tables["ABC"].rows[0]["col name"].ToString()) ;
}
button_click2()
{
int y = ColValue ;
}
}
如果您使用的是Asp.net,请参阅user608576关于在Viewstate中存储值的答案。