为了测试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 " 必须赋值.