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

为什么Session值是空的?
为了测试session,在.cs文件中:

if   (Session[ "UserName "]   !=   null)
{
        Response.Write((string)Session[ "UserName "]);
}

用户登录后,页面空白没有显示

我的web.config:
<?xml   version= "1.0 "?>
<configuration   xmlns= "http://schemas.microsoft.com/.NetConfiguration/v2.0 ">
<appSettings/>
<connectionStrings>
    <add   name= "SQL_DB "   connectionString= "Data   Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated   Security=True;User   Instance=True "
      providerName= "System.Data.SqlClient "   />
  </connectionStrings>
<system.web>
        <pages   enableSessionState= "true "> </pages>
        <authentication   mode= "Forms "   />
        <sessionState   mode= "InProc "   timeout= "20 "   cookieless= "false "> </sessionState>
        <roleManager   enabled= "true "   />
        <compilation   debug= "true "/>
</system.web>
</configuration>

不知道为什么,期盼大家帮忙,不胜感激!

------解决方案--------------------
那就是你的值根本没有写到Session里,或者Session名称不正确,注意检查下
------解决方案--------------------
Session[ "UserName "] 这个为什么有值呢,不明白?
什么地方写入了这个值吗?
------解决方案--------------------
什么时候设置了Session[ "UserName "]

------解决方案--------------------
大小写检查了吗
------解决方案--------------------
if (Session[ "UserName "] != null)       
{
Response.Write((string)Session[ "UserName "]);//这句没有执行的可能性只有一个
                        //就是Session[ "UserName "]已经存在了
}

------解决方案--------------------
晕倒,你是不是用的登录控件啊?
如果你想取得当前登录用户的用户名,用下面的方法 :
Page.User.Identity.Name
------解决方案--------------------
如果你认为Session[ "UserName "]里面保存了当前登录用户的用户名,那你就错了。
除非你显示的为Session[ "UserName "]赋值。
------解决方案--------------------
this.Session[ "UserName "]= "xxx " 必须赋值.