日期:2014-05-17  浏览次数:20887 次

C# session 问题
请问在C#2005中怎么没有session啊能用什么可以代替session方法
C#能不能设定一个全局变量可以在不同的窗体中使用啊

------解决方案--------------------
2005中当然有session,
要设定一个全局变量,请在Global.asax文件中加入以下代码:
C# code

    public class Global : System.Web.HttpApplication
    {
        public static string str = "全局变量";
        //.................


//访问全局变量
string MyStr  = Global.str  ;

------解决方案--------------------
你说的是web窗体吧。
可以把用户类的实例放到Session里,
Session["userInfo"] = userInfo;

在另一个页面提取
if(Session["userInfo"] != null )
user userInfo = Session["userInfo"];

不过这么做是不是有安全隐患?记得有一篇文章说过。你找找。
------解决方案--------------------
添加一个类
例如命名为 Store.cs

 static class Store
{
//静态字段 保存公用的值
public static int myInt;
public static string myString;
}

任何一个窗体中 直接用Store.myInt或Store.myString都能对这2个字段访问. 
 登录窗口 :
 Store.myInt=id;
 Store.myString=name;

其他窗口中要用到ID或NAME的话 直接从Store.myInt或Store.myString中取出就可以了