我在网页中做用户名登陆出现下列问题:
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 21: private void Page_Load(object sender, System.EventArgs e)
行 22: {
行 23: string userName=Request.Form["userName"].ToString();
行 24: string userPwd=Request.Form.Get("userPwd").ToString();
行 25: SqlConnection con=new SqlConnection("server=.;database=login;uid=sa;pwd=;");
源文件: e:\gaowang0401\gaowang.aspx.cs 行: 23
c#中的代码。。不知道有没有问题。。
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 gaowang0401
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
string userName=Request.Form["userName"].ToString();
string userPwd=Request.Form.Get("userPwd").ToString();
SqlConnection con=new SqlConnection("server=.;database=login;uid=sa;pwd=;");
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("url:http://www.126.com");
}
{
Response.Redirect("url:http://www.hao123.com");
}
// 在此处放置用户代码以初始化页面
}
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 21: private void Page_Load(object sender, System.EventArgs e)
行 22: {
行 23: string userName=Request.Form["userName"].ToString();
行 24: string userPwd=Request.Form.Get("userPwd").ToString();
行 25: SqlConnection con=new SqlConnection("server=.;database=login;uid=sa;pwd=;");
源文件: e:\gaowang0401\gaowang.aspx.cs 行: 23
c#中的代码。。不知道有没有问题。。
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 gaowang0401
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
string userName=Request.Form["userName"].ToString();
string userPwd=Request.Form.Get("userPwd").ToString();
SqlConnection con=new SqlConnection("server=.;database=login;uid=sa;pwd=;");
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("url:http://www.126.com");
}
{
Response.Redirect("url:http://www.hao123.com");
}
// 在此处放置用户代码以初始化页面
}
private void Page_Load(object sender, System.EventArgs e)
{
string userName = ""; //给一个初始化的值
try {
userName=Request.Form["userName"].ToString();
} catch(Exception ex) {
}
改成
string userName=Request.QueryString["userName"].ToString();
试试
用验证控件或者客户端脚本都可以啊
string userName=(Request.Form["userName"] = null)? "":request.form["username"].tostring();
你再试试
string userName = ""; 在""里给个实际可以登陆的值.就是正确的登陆用户名.
string userPwd = ""; 这个""写上该用户名的密码.
然后再试.就知道你错在什么地方了.
你出现的错误是由于你打开网页时对应的url没有相应的键值而导致出错的
直接使用Request["userName"]就算不存对应的键也不会报错.,
但你使相应的变量时应该判断值是否为空
if(Request.Form["userName"]!=null)
{
string userName=Request.Form["userName"].ToString();
}
1.判断2.传值if(Request.Form["userName"]!=null)
{
string userName=Request.Form["userName"].ToString();
}
或者
string uid = Request["userName"] + "";
但要明白原因楼上有正解就不说了
你的
string userName=(Request.Form["userName"] = null)? "":request.form["username"].tostring();
少了一个"="号string userName=(Request.Form["userName"] == null)? "":request.form["username"].tostring(); 这样就可以了
先判断下,有没有值
if(Request.Form["userName"]!=null)
{
Response.Write("无值");
}
再去检查出错的原因,一步步来,
---------我用的