问题描述
- asp.net中session参数问题
-
修改密码网页的load代码如下:if(Session["userName"]==null) { Response.Write("已经超时!");Response.End(); } pswModify1.tableName = "管理员"; pswModify1.userName = Session["userName"].ToString(); Session.Remove("userName");
判断session不为空,出现了脚本错误,如下图:
登陆界面相关代码如下:(不知道session定义变量的位置对不对)case "管理员": { string strSelect = "select count(*)from 管理员 where 用户名='" + strUserName + "'and 密码='" + strPassword + "'"; System.Data.SqlClient.SqlCommand selectCom = new System.Data.SqlClient.SqlCommand(strSelect, conn); int count = int.Parse(selectCom.ExecuteScalar().ToString()); conn.Close(); if (count > 0) { Session["userName"] = txtUserName.Text; Response.Redirect("welcomemanager.aspx"); } else { Label1.Text = "用户名或密码输入错误!"; } }
不知道问题出现在那里,有劳解答,谢谢你。
解决方案
Session这种会过期为空的对象要先判断是否为空才能引用
if(Session["userName"]==null)
{
Response.Write("已经超时!");Response.End();
}
pswModify1.tableName = "管理员";
pswModify1.userName = Session["userName"].ToString();
Session.Remove("userName");
解决方案二:
关于session_end的执行测试,解决困惑 很惭愧这个问题困惑了我2天时间, 查阅无数文章,最后经过测试发现,这些文章并没有说到重点
包括csdn里很多程序员也没有搞清楚怎么回事,其实seesion_end方法不执行的原因很简单.
有三点吧,第一是config.sys设置问题,在system.web节点下添加
<sessionState mode="InProc&quo......
答案就在这里:ASP.NET中Session的问题
时间: 2024-10-16 05:21:05