这是我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的地方也要改下子