读书人

System.NullReferenceException: 未将

发布时间: 2012-05-21 18:04:41 作者: rapoo

System.NullReferenceException: 未将对象引用设置到对象的实例
小弟刚学asp,很多都不懂
我在调试一个asp页面的时候发生如下错误:希望各位大虾帮帮忙,找找那里出错了,
根据这个例子,怎样把对象引用设置到对象的实例啊??????

“/examOline”应用程序中的服务器错误。
--------------------------------------------
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
行 22: protected void btnlogin_Click(object sender, EventArgs e)
行 23: {
行 24: if (txtCode.Text.Trim() != Session["verify"].ToString())
行 25: {
行 26: Response.Write("<script>alert('验证码错误');location='Login.aspx'</script>");
源文件: f:\wwwroot\examOline\Login.aspx.cs 行: 24
堆栈跟踪:
[NullReferenceException: 未将对象引用设置到对象的实例]
Login.btnlogin_Click(Object sender, EventArgs e) in f:\wwwroot\examOline\Login.aspx.cs:24
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

我的login.aspx.cs源码如下;
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

//51aspx
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ Session["accountMode"] = "id"; }
}
protected void btnlogin_Click(object sender, EventArgs e)
{
if (txtCode.Text.Trim() != Session["verify"].ToString())
{
Response.Write("<script>alert('验证码错误');location='Login.aspx'</script>");
}
else
{
if (this.ddlstatus.SelectedValue == "学生")
{
if (BaseClass.CheckStudent(txtNum.Text.Trim(), txtPwd.Text.Trim()))
{
Session["studentID"] = txtNum.Text.Trim();
Response.Redirect("student/student.aspx");
}
else
{
Response.Write("<script>alert('您不是学生或者用户名和密码错误');location='Login.aspx'</script>");
}
}
if (this.ddlstatus.SelectedValue == "教师")
{
string mode=Session["accountMode"].ToString();
if (mode=="id")
{
if (BaseClass.CheckTeacher(txtNum.Text.Trim(), txtPwd.Text.Trim()))
{
Session["teacherID"] = txtNum.Text;
Response.Redirect("teacher/Teacher.aspx");
}
else
{
Response.Write("<script>alert('您不是教师或者用户名和密码错误');location='Login.aspx'</script>");


}
}
else
{ Response.Write("<script>alert('你现在是用账户名来登录');location='Login.aspx'</script>");
string id = BaseClass.CheckTeacherByName(txtNum.Text.Trim(), txtPwd.Text.Trim());
Label1.Text = id;
//if (BaseClass.CheckTeacherByName(txtNum.Text.Trim(), txtPwd.Text.Trim()))
//{
// Session["teacherIName"] = txtNum.Text;
// Response.Redirect("teacher/Teacher.aspx");
//}
if (id != "")
{ Session["teacherID"] = id;
Response.Redirect("teacher/Teacher.aspx");
}
else
{ Response.Write("<script>alert('您不是教师或者用户名和密码错误');location='Login.aspx'</script>");
} } }
if (this.ddlstatus.SelectedValue == "管理员")
{ string mode = Session["accountMode"].ToString();
if (mode=="id")
{ if (BaseClass.CheckAdmin(txtNum.Text.Trim(), txtPwd.Text.Trim()))
{ Session["admin"] = txtNum.Text;
Response.Redirect("admin/Admin.aspx");
}
else
{ Response.Write("<script>alert('您不是管理员或者用户名和密码错误');location='Login.aspx'</script>");
} }
else
{ if (BaseClass.CheckAdminByName(txtNum.Text.Trim(), txtPwd.Text.Trim()))
{ Session["adminName"] = txtNum.Text;
Session["admin"] = "";
Response.Redirect("admin/Admin.aspx");
}
else
{ Response.Write("<script>alert('您不是管理员或者用户名和密码错误');location='Login.aspx'</script>");
} } } } }
protected void btnconcel_Click(object sender, EventArgs e)
{ RegisterStartupScript("提示", "<script>window.close();</script>"); }
protected void rblUserID_SelectedIndexChanged(object sender, EventArgs e)
{ if (rblUserID.SelectedIndex == 1)
{ lblAccount.Text = "账号(名)";
Session["accountMode"] = "name";
txtNum.Text = "";
txtPwd.Text = "";
txtCode.Text = "";
}
else
{ lblAccount.Text = "账号(ID)";
Session["accountMode"] = "id";
txtNum.Text = "";
txtPwd.Text = "";
txtCode.Text = "";
} } }


[解决办法]
if (txtCode.Text.Trim() != Session["verify"].ToString())
---
if (Session["verify"]!= null && txtCode.Text.Trim() != Session["verify"].ToString())

[解决办法]
if (txtCode.Text.Trim() != Session["verify"].ToString())


---
if (Session["verify"]== null || txtCode.Text.Trim() != Session["verify"].ToString())

读书人网 >ASP

热点推荐