2 qq 34669287 qq_34669287 于 2016.05.10 18:03 提问

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 = "用户名或密码输入错误!";
                    }
                }

不知道问题出现在那里,有劳解答,谢谢你。

2个回答

showbo
showbo   Ds   Rxr 2016.05.10 20:35
已采纳

Session这种会过期为空的对象要先判断是否为空才能引用

 if(Session["userName"]==null)
{
Response.Write("已经超时!");Response.End();
}

       pswModify1.tableName = "管理员";
        pswModify1.userName = Session["userName"].ToString();
        Session.Remove("userName");
qq_34669287
qq_34669287 回复无聊码农: 谢谢你,对了
一年多之前 回复
showbo
showbo 回复名字得有7个字: 去掉Response.Write("已经超时!");这句,因为这句不符合js语法,导致输出ript加载的axd脚本为“已经超时!”而报错
一年多之前 回复
qq_34669287
qq_34669287 采纳了您的建议后,出现了新的问题,但是感觉离真相越来越接近,我把新的问题更新在上边了,烦请您看看,谢谢您。
一年多之前 回复
CSDNXIAOC
CSDNXIAOC   2016.05.10 18:12

关于session_end的执行测试,解决困惑 很惭愧这个问题困惑了我2天时间, 查阅无数文章,最后经过测试发现,这些文章并没有说到重点
包括csdn里很多程序员也没有搞清楚怎么回事,其实seesion_end方法不执行的原因很简单.
有三点吧,第一是config.sys设置问题,在system.web节点下添加
<sessionState mode="InProc&quo......
答案就在这里:ASP.NET中Session的问题
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!