纠结一个问题,弄个呢半天都不出来,
自己调试,网上找资料也没找出来。我首页登录采用异步调用成功。
ExecSql es = new ExecSql();
Response.Clear();
string results = "";
string names = Request.QueryString["names"].ToString();
string pwd = Request.QueryString["pwd"].ToString(); string sql = "select vIP,vIsPass,vName from vip where vName='" + Common.CommonMethod.StripHTML(names) + "' and vPwd='" + Common.Entrypt.EntryptMD5(pwd) + "'";
DataTable dt=es.query(sql);
if (dt.Rows.Count > 0)
{
vip vp = new vip();
vp.vIP =Convert.ToInt32(dt.Rows[0][0].ToString());
vp.vIsPass =Convert.ToInt32(dt.Rows[0][1].ToString());
vp.vName = dt.Rows[0]["vName"].ToString();
Session["uvip"] = vp;
Session.Timeout = 60; results = "欢迎您 " + names + " <a href=\"vipAdmin/index.html\" target=\"_blank\">进入后台</a>";
Response.Cookies["viplogin"].Value =names;
}
else
{
results = "0";
} Response.Write(results);
Response.Flush();
Response.Close();之后,我点击到后台管理,怎么调试的时候,老是报没找到session的值。我明明在上面已经实例化呢一个。
是不是异步调用不能存储session或者是别的原因。
补充说明:我在正常的登录页面里面登录是OK的。
好怪。
自己调试,网上找资料也没找出来。我首页登录采用异步调用成功。
ExecSql es = new ExecSql();
Response.Clear();
string results = "";
string names = Request.QueryString["names"].ToString();
string pwd = Request.QueryString["pwd"].ToString(); string sql = "select vIP,vIsPass,vName from vip where vName='" + Common.CommonMethod.StripHTML(names) + "' and vPwd='" + Common.Entrypt.EntryptMD5(pwd) + "'";
DataTable dt=es.query(sql);
if (dt.Rows.Count > 0)
{
vip vp = new vip();
vp.vIP =Convert.ToInt32(dt.Rows[0][0].ToString());
vp.vIsPass =Convert.ToInt32(dt.Rows[0][1].ToString());
vp.vName = dt.Rows[0]["vName"].ToString();
Session["uvip"] = vp;
Session.Timeout = 60; results = "欢迎您 " + names + " <a href=\"vipAdmin/index.html\" target=\"_blank\">进入后台</a>";
Response.Cookies["viplogin"].Value =names;
}
else
{
results = "0";
} Response.Write(results);
Response.Flush();
Response.Close();之后,我点击到后台管理,怎么调试的时候,老是报没找到session的值。我明明在上面已经实例化呢一个。
是不是异步调用不能存储session或者是别的原因。
补充说明:我在正常的登录页面里面登录是OK的。
好怪。
解决方案 »
- Asp.net服务器控件Table增加行的问题
- 怎样配置一台可远程互联网访问的服务器?
- 触发器问题
- 关于在DataGrid里用showModalDialog方法弹出另外一个页面!!
- 如何调用以XmlTextWriter类作参数的WebService?
- 有关textbox与dropdownlist二级联动
- 关于取得存储过程返回值填充dataset的问题!!急
- 请问谁有winform开发的应用程序实例或教程也行
- 如何在<script Language="c#" runat="server"></script>中使用javascript
- 菜鸟问题:编译项目后,因为所有代码文件都自动编译成了dll,那就可以把所有代码文件删掉了,对吗?
- 查询的有关问题
- fckeditor 上传图片
以前怀疑是路径的问题。但怎么调试都弄出来,都报找不到对象的错误(找不到session)
你这段有问题 vip vp = new vip();
vp.vIP =Convert.ToInt32(dt.Rows[0][0].ToString());
vp.vIsPass =Convert.ToInt32(dt.Rows[0][1].ToString());
vp.vName = dt.Rows[0]["vName"].ToString();
Session["uvip"] = vp; //你的vp之前也没给赋值啊 你只是把VP下面的子集(就是上三行)给值了
Session.Timeout = 60;
你的vp没有正确赋值 所以session 值为null 调试下着段代码 问题应该在这
这就说明:你没给session赋上值
我调试呢,Session["uvip"]=vp;里面有值的。这是我在后台写的代码看行不 int vip = 0;
if (Session["uvip"]== null)
{
Response.Write("<script language=\"javascript\">alert('登录超时,请您重新登录!');top.window.location.href='../VipLogin.aspx';</script>");
return;
}else{
....
}
好怪。如果你说session没有赋值的话,那么应该怎么写呢?
可是在后台,就报“未将对象引用设置到对象的实例”。
行 34: //else
行 35: //{
行 36: string uName = ((vip)(Session["uvip"])).vName;
行 37: // }
行 38: //if (!ExistuvipSession(states))
不敢断言,但是估计是 Session.Timeout = 60; 里的问题,你去掉这句话试试
还是报
行 34: //else
行 35: //{
行 36: string uName = ((vip)(Session["uvip"])).vName;
行 37: // }
行 38: //if (!ExistuvipSession(states))
未将对象的应用设置到对象的实例化中。晕。纠结。
如果实在不行的话,我换个方法做。