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

关于session的一些问题
做了一个网站,里面有登陆的功能,用户信息存在本机的sqlserver 2008数据库中,在登陆页登陆成功后有如下代码:
C# code

Session.Add("UserGroup", "Admin");
                Session.Add("UserId", username);
Response.Redirect("Default.aspx");


然后在Default.aspx的load方法里有如下代码:
C# code

if ((string)Session["USerGroup"] == "Admin")
        {
            lbState.Text = "你好!管理员:" + (string)Session["UserId"];
        }
        if ((string)Session["Admin"] == "0")
        {
            lbState.Text = "你好!用户:" + (string)Session["UserId"];
        }
        if ((string)Session["Admin"]== null)
        {
            lbState.Text = "你好!游客!请先登陆或注册。";
        }


其中lbState是default.aspx中的一个标签.
请问代码写的有什么问题吗?可是为什么无论我是否登陆,lbState上显示的总是"你好!游客!请先登陆或注册。"呢!!!!郁闷好久了

------解决方案--------------------
如果你没有其他代码的,

请再每一次赋值后
加一个return;

下面是我的建议

C# code
if ((string)Session["USerGroup"] == "Admin")
        {
            lbState.Text = "你好!管理员:" + (string)Session["UserId"];
        } else  if ((string)Session["Admin"]== null)
        {
            lbState.Text = "你好!游客!请先登陆或注册。";
        } else if ((string)Session["Admin"] == "0")
        {
            lbState.Text = "你好!用户:" + (string)Session["UserId"];
        }else
{
 lbState.Text ="到底要做什么";
}

------解决方案--------------------
Session["Admin"]
------解决方案--------------------
应该判断的是Session["UserId"]。
把Session["Admin"]改为Session["UserId"]。
------解决方案--------------------
+1
探讨
应该判断的是Session["UserId"]。
把Session["Admin"]改为Session["UserId"]。