求高手帮我解决“c#未将对象引用设置到对象的实例”问题。 5

publicpartialclassDefault:System.Web.UI.Page{staticstringsValidator="";privatereadonl... public partial class Default : System.Web.UI.Page
{
static string sValidator = "";
private readonly string sValidatorImageUrl = "DesktopModules/ValidateImage.aspx?Validator=";

protected void Page_Load(object sender, EventArgs e)
{
///添加页面初始化代码
if (!Page.IsPostBack)
{
sValidator = GetRandomint();
ValidateImage.ImageUrl = sValidatorImageUrl + sValidator;
}
}

protected void LoginBtn_Click(object sender, EventArgs e)
{
///如果页面输入合法
if (Page.IsValid == true)
{
if (Validator.Text != sValidator)
{
Message.Text = "验证码输入错误,请重新输入验证码!!!";
sValidator = GetRandomint();
ValidateImage.ImageUrl = sValidatorImageUrl + sValidator;
return;
}

String userId = "";

///定义类并获取用户的登陆信息
DocumentManager.User user = new DocumentManager.User();
SqlDataReader recu = user.GetUserLogin(UserName.Text.Trim(),
DocumentManager.User.Encrypt(Password.Text.Trim()));

///判断用户是否合法
if (recu.Read())
{
userId = recu["UserID"].ToString();
}
recu.Close();

///验证用户合法性,并跳转到系统平台
if ((userId != null) && (userId != ""))
{
Session["UserID"] = userId;

//跳转到登录后的第一个页面
Response.Redirect("~/DesktopModules/Main.aspx");
}
else
{
sValidator = GetRandomint();
ValidateImage.ImageUrl = sValidatorImageUrl + sValidator;
///显示错误信息
Message.Text = "你输入的用户名称或者密码有误,请重新输入!";
}
}
}

protected void CancelBtn_Click(object sender, EventArgs e)
{
///清空用户名称和密码输入框
UserName.Text = Password.Text = "";
}

private String GetRandomint()
{
Random random = new Random();
return (random.Next(100000,999999).ToString());
}
}
提示问题出错在:
行 47:
行 48: ///判断用户是否合法
行 49: if (recu.Read())
行 50: {
行 51: userId = recu["UserID"].ToString();
展开
 我来答
rrnhafr
2011-05-13 · TA获得超过1601个赞
知道小有建树答主
回答量:1185
采纳率:0%
帮助的人:658万
展开全部
你以调试模式运行一下,看看具体是哪一步出错的,这样找起来容易一点,才能更好更快的解决。初步估计的话,dsAdmins.ReadXml(path + "user.xml"); 这里的路径有问题,应该再加一个'\\',另外 xmlDoc.Load("Debuguser.xml");
,这里的路径好像也有问题,winform的运行时程序的目录是 \bin\Debug 你看看你的那个 XML文件放对了没有。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友61a2965
2011-05-13 · TA获得超过1490个赞
知道小有建树答主
回答量:1661
采纳率:50%
帮助的人:718万
展开全部
if (recu.Read())
你这句是当他的值为真时 执行下面的语句 那么你的read方法写在哪里?
你把一个实例化对象的值 赋给recu
SqlDataReader recu = user.GetUserLogin(UserName.Text.Trim(),
然后在用read读这个recu
的值 那么你if里的条件到底是什么
更多追问追答
追问
那么应该怎么改呢
追答
确定你user.GetUserLogin(UserName.Text.Trim()这个返回的是什么值   然后在if里判断 如果是  则执行   举个例子  如果你返回的值是1 或者0 
那么你在if(recu==1)
{..................
}
else
{....................
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haoqi616
2011-05-14
知道答主
回答量:15
采纳率:0%
帮助的人:7.5万
展开全部
是否应用SQLclient 和XML的引用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式