关于程序执行与session问题,请各位指教(在线等)

long_4 2007-08-06 10:11:11
程序如下:
protected void Page_Load(object sender, EventArgs e)
{
if(Session["userID"]==null)
Response.Write("<SCRIPT LANGUAGE=javascript>alert('对不起,请您先登录!');window.location='login.aspx';</SCRIPT>");
if(!Page.IsPostBack)
bindData();
}
private void bindData()
{
if(Session["userID"].ToString()=="1")
Response.Write("<SCRIPT LANGUAGE=javascript>alert('您是超级管理员!');</SCRIPT>");
}

我在Page_Load中已经判断了Session["userID"]是否为空,如果为空就转入'login.aspx',可是当运行的时候,发现不管Session["userID"]是否为空,bindData()方法都要执行,并且出现“未将对象引用设置到对象的实例”的错误,请大侠指教,为什么Session["userID"]为空,bindData函数还要执行。
谢谢!
...全文
121 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
long_4 2007-08-06
  • 打赏
  • 举报
回复
谢谢各位的回复,我的问题得到了解决。BearRui 的回复才是我想要的。
结贴,散分!
BearRui 2007-08-06
  • 打赏
  • 举报
回复
if(Session["userID"]==null)
Response.Write("<SCRIPT LANGUAGE=javascript>alert('对不起,请您先登录!');window.location='login.aspx';</SCRIPT>");
if(!Page.IsPostBack)
bindData();
}

因为Response.Write并不代表程序就结束了,虽然你写了window.location='login.aspx';,但这个也是要到客户端才能执行的,所以代码会一直向下走,所以会执行bindData();
boy_north 2007-08-06
  • 打赏
  • 举报
回复
if(!Page.IsPostBack)
不知道你是否明白这个if语句的意思不?

如果知道,那你就明白为什么了.
xwk789xwk 2007-08-06
  • 打赏
  • 举报
回复
哈哈,被说了,你写一个if... esle....判断语句不就行了
不然的话就加一个return应该也可以
protected void Page_Load(object sender, EventArgs e)
{
if(Session["userID"]==null)
{
Response.Write("<SCRIPT LANGUAGE=javascript>alert('对不起,请您先登录!');window.location='login.aspx';</SCRIPT>");
return ;//在这里加一个return 如果出现userID为空就结束程序的执行,不让它执行下面语句。
}
if(!Page.IsPostBack)
bindData();
}
private void bindData()
{
if(Session["userID"].ToString()=="1")
Response.Write("<SCRIPT LANGUAGE=javascript>alert('您是超级管理员!');</SCRIPT>");
}

long_4 2007-08-06
  • 打赏
  • 举报
回复
谢谢 lovefootball 的回复,你的方法肯定没问题,但是我的问题不是这个,我问的是“为什么Session["userID"]为空,bindData函数还要执行。”
lovefootball 2007-08-06
  • 打赏
  • 举报
回复
if(Session["userID"]==null)
{
Response.Write("<SCRIPT LANGUAGE=javascript>alert('对不起,请您先登录!');window.location='login.aspx';</SCRIPT>");
}
else
{
if(!Page.IsPostBack)
bindData();
}
}

110,572

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧