当前位置: 代码迷 >> ASP.NET >> 急帮帮忙啊“未将对象引用设置到对象的实例。”
  详细解决方案

急帮帮忙啊“未将对象引用设置到对象的实例。”

热度:7243   发布时间:2013-02-25 00:00:00.0
急!各位高手帮帮忙啊!“未将对象引用设置到对象的实例。”
这是我login界面的代码:public partial class login1 : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {

  }
  protected void Button1_Click(object sender, EventArgs e)
  {
  if (TextBox1.Text == "")
  {
  Session["username"] = TextBox1.Text;
  Server.Transfer("Default2.aspx");
  }
  else
  {
   

  }
  }
}
这是我登陆后跳转到Default2.aspx这个界面的代码:
ublic partial class Default2 : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
  if (Application["chat"] == null && Session["username"].ToString() == null)
  {
  Application["chat"] = Session["username"].ToString() + "进入了聊天室.......<br>";
  }
  else
  {
  Application["chat"] = Session["username"].ToString() + "进入了聊天室.......<br>" + Application["chat"];
  }
  }
}
我做的是一个聊天室(在线交流),在login输入用户名以后就跳转到Default2界面,但是每次调试的时候在login输入用户名点击“进入”按钮时,就会出现“未将对象引用设置到对象的实例。”而出错的一行代码是:if (Application["chat"] == null && Session["username"].ToString() == null)。急!各位高手帮帮忙啊!

------解决方案--------------------------------------------------------
C# code
--改为if (TextBox1.Text != "")--Session["username"]为空,因此报错Session["username"].ToString()
------解决方案--------------------------------------------------------
Session["username"].ToString()这个肯定可能有问题的啊。
起码不能直接toString()一旦Session为空,绝对是“未将对象引用到对象的实例”啊。


回复2楼,我照你的方法做了后,又出现了新问题:
 Application["chat"] = Session["username"].ToString() + "进入了聊天室.......<br>";
这行出的差错是“未将对象引用设置到对象的实例。”这行是Default2.aspx这个界面的代码。

明显也说明了这个问题
------解决方案--------------------------------------------------------
if (Application["chat"] == null && Session["username"].ToString() == null)
你要做的是让用户进来看到是谁进入了聊天室吧?那肯定要确定用户不为空而不是为空吧??
所以
if (Application["chat"] == null && Session["username"]!= null)这个逻辑才对。。。
然后else的地方也要改下子
  相关解决方案