金牌净味而君利美:System.NullReferenceException: 未将对象引用设置到对象的实例。

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 12:47:53
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:

行 27: {
行 28:
行 29: string userName = Request.Form["userName"].ToString();
行 30: string userPwd = Request.Form["userPwd"].ToString();
行 31: SqlConnection con = new SqlConnection("server=.;database=login;uid=sa,pwd=sa");

源文件: c:\inetpub\wwwroot\test2\login.aspx.cs 行: 29

堆栈跟踪:

[NullReferenceException: 未将对象引用设置到对象的实例。]
test2.login.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\test2\login.aspx.cs:29
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +750

怎么修改?????下面是我的代码.

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

namespace test2
{
/// <summary>
/// login 的摘要说明。
/// </summary>
public class login : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.TextBox userPwd;
protected System.Web.UI.WebControls.TextBox userName;

private void Page_Load(object sender, System.EventArgs e)
{

string userName = Request.Form["userName"].ToString();
string userPwd = Request.Form["userPwd"].ToString();
SqlConnection con = new SqlConnection("server=.;database=login;uid=sa,pwd=sa");
con.Open();
SqlCommand cmd = new SqlCommand("select count(*) from login where userName='"+userName+"' and userPwd='"+userPwd+"'",con);
int count = Convert.ToInt32(cmd.ExecuteScalar());
if(count>0)
{
Response.Redirect("main.aspx");
}
else
{
Response.Redirect("loginFal.htm");
}

// 在此处放置用户代码以初始化页面
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}

}

string userName = Request.Form["userName"].ToString();
string userPwd = Request.Form["userPwd"].ToString();

这两句中,先进行空值判断,因为如果userName或userPwd为null,对之进行字符串转化肯定有错:
if (Request.Form["userName"]!= null && Request.Form["userPwd"]!= null )
{
//继续执行
}
else
{
//给出提示:传入参数不正确
}

重启World Wide Web Publishing服务