永发信息网

在使用ASP.NET的SESSION页面跳转时出现错误提示

答案:5  悬赏:0  手机版
解决时间 2021-02-06 06:39
  • 提问者网友:美人性情
  • 2021-02-05 14:46
我在第一个页面放了一个textbox1和一个按钮 在按钮写入代码:
protected void Button1_Click(object sender, EventArgs e)
{
if(Session["username"]!=null)
Session["username"] =this.TextBox1.Text;
}
在第二个页面写入代码:
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = Session["username"].ToString();
}
运行时出现错误提示 未将对象引用设置到对象的实例
这怎么处理?
最佳答案
  • 五星知识达人网友:雪起风沙痕
  • 2021-02-05 15:42
看第一个
protected void Button1_Click(object sender, EventArgs e)
{
if(Session["username"]!=null)
Session["username"] =this.TextBox1.Text;
}
这里 如果 Session["username"]!=null Session就等于this.TextBox1.Text;
你没有写 如果Session["username"]==null的时候给什么值

到第二页的时候 Session["username"].ToString(); 不能用 null.ToString()
所以引起了 未将对象引用设置到对象的实例 的错误懂吗?
全部回答
  • 1楼网友:低音帝王
  • 2021-02-05 20:01
try { if(Session["username"]!=null) Session["username"] =this.TextBox1.Text; } catch { Session["username"] =this.TextBox1.Text; } 把这段代码替换 你的if(Session["username"]!=null) Session["username"] =this.TextBox1.Text; 就可以了.
  • 2楼网友:鸽屿
  • 2021-02-05 18:57
哥 你第一个页面写 if(Session["username"]!=null) 才给他赋值……………… 这刚开始 肯定是 NULL啊。 那你下面赋值 语句 不就白写了,Session 还是空的。 到了第二个页面 session 是空的 你这么给 label1 啊。
  • 3楼网友:执傲
  • 2021-02-05 17:24
创建一个global.asax 用于存放你的Session值, 最好是一开始就赋值 比如 Session["username"] =null; 或者Session["username"]=""; 这样程序一开始,Session["username"] 就默认为null; 而若是使用了Session["username"]=""; 之后的if就可以用 Session["username"].ToString()!="";
  • 4楼网友:荒野風
  • 2021-02-05 16:15
用session["标号"]可以,当然页面的传变量也是可以的 例如:?你想穿的那个值的标号=变量 page_load() { if(session["你想穿的那个值的标号"]==你想让它等于的那个值) { this.response.redirect("你想要打开的页面.aspx");//重定向到你想要的那个页面 } session["你想穿的那个值的标号"]=null; } 或者 page_load() { if(request.querystring["你想穿的那个值的标号"]==你想让它等于的那个值) { this.response.redirect("你想要打开的页面.aspx");//重定向到你想要的那个页面 } } *****补充: 如果是非要在javascript里面,那就要把session传到page页面中,再提取判断,一般没有这个必要的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯