日期:2014-05-19  浏览次数:20581 次

关于ViewState和Application的问题
private   int   MasterID
{
get
{
if(Application[ "masterID "]!=null)
          return   (int)Application[ "masterID "];
else
          return   0;
}
}
以及
private   int   MasterID
{
get
{
if(ViewState[ "masterID "]!=null)
          return   (int)ViewState[ "masterID "];
else
          return   0;
}
}

如果换成下面一段代码可以吗?这两段代码有什么区别啊,请指教,谢谢!

------解决方案--------------------
看一下MSDN
------解决方案--------------------
区别很大,Application是全局应用标识,属于服务器端变量。ViewState是当前浏览器控件的状态, 属于客户端变量。
------解决方案--------------------
Application是保存在服务器端的,应用程序的所有页面都可以访问这个变量,现在一般不用Application,要用也是Cache,因为后者可以设置过期策略,而Application变量的销毁还是比较麻烦的

视图状态(ViewState)是保存在客户端的,只对当前页面有效

所以你这两段代码效果虽然相同,可概念大不同啊
------解决方案--------------------
一個全局變量﹐后者只是在本頁面內就用﹗

其體自己可以查一下這asp.net中這兩個對象的其別﹗
------解决方案--------------------
Application是整个应该程序的变量,而ViewState只限于单个页面