问个Viewstate的问题(孟老师和高手们)
在同页面,一个函数体内取得的变量(字符)A 通过ViewState 传导给经回发后的同页面另一函数体内变量B。这代码怎么写?
孟老师的经典中:
ViewState[ "myKey "] = "MyData ";
string myData;
if(ViewState[ "myKey "]!=null)
{
myData = (string)ViewState[ "myKey "];
}
那个是我所说的A ,那个是我所说的B? myKey是A 吗?myData 是B吗?
菜鸟啊,不好意思!!!!
------解决方案--------------------public void MethodA(){
string A= "MyData ";
ViewState[ "myKey "] =A;
}
public void MethodB(){
string B;
if(ViewState[ "myKey "]!=null)
{
B= (string)ViewState[ "myKey "];
}
}
------解决方案--------------------myData 和 MyData 不是同一个东西吧?
---------------------------------
string myData;
string A= "MyData ";
myData是变量,MyData变量的值,不是一个东西
------解决方案--------------------在同页面,一个函数体内取得的变量(字符)A 通过ViewState 传导给经回发后的同页面另一函数体内变量B。????
public void A()
{
ViewState[ "myKey "] = "MyData ";
}
public void B()
{
string myData;
if(ViewState[ "myKey "] != " ")
{
myData = ViewState[ "myKey "].ToString();
}
}
是这么个意思吗?
------解决方案--------------------myKey是全局变量名字,
ViewState[ "myKey "] = "MyData ";
这里意思是给全局变量myKey赋值为“MyData”.。。这里的MyData就是你题目中A变量的值
下面这里string myData;是声明一个局部变量```也就是你题目中的B变量。
if(ViewState[ "myKey "]!=null)//判断全局变量是否为空
{
myData = (string)ViewState[ "myKey "];//不为空,则把全局变量的值赋给myData 变量,也就是B变量。
}
这样就完整地将A变量的值通过全局变量ViewState[ "myKey "]传给了B变量。