小弟学生,在用.net学做一个简单三层结构的系统,还没有入门,一开始登陆都搞不定,希望各位高手指教。具体代码如下,
Login页的代码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 Evaluation.BusinessLogicLayer;
namespace Evaluation.Web
{
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void btnLogin_Click(object sender, EventArgs e)
{
string LoginAccount = txtUserName.Text; //用户登录名
string password = txtPwd.Text; //密码 Admin admin = new Admin();
admin.LoadData(LoginAccount);
Session.Add("Aid", admin.Aid); if (admin.Exist) //如果用户存在
{
if (admin.Apwd == password) //如果密码正确,转入管理员页面
{
Response.Redirect("Admin.aspx");
}
else //如果密码错误,给出提示,光标停留在密码框中
{
Response.Write("<Script Language=JavaScript>alert(\"密码错误,请重新输入密码!\")</Script>");
}
}
else //如果用户不存在
{
Response.Write("<Script Language=JavaScript>alert(\"对不起,用户不存在!\")</Script>");
}
} protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Login.aspx");
}
}
}
管理员admin的类定义如下:using System;
using System.Collections;
using System.Data;using Evaluation.DataAccessLayer;
using Evaluation.DataAccessHelper;namespace Evaluation.BusinessLogicLayer
{
/// <summary>
/// admin 的摘要说明
/// </summary>
public class Admin
{
#region 私有成员
private int _Aid;
private string _Aaccount;
private string _Apwd;
private string _Aname;
private bool _Exist;
#endregion #region 属性
public int Aid
{
set
{
this._Aid = value;
}
get
{
return this._Aid;
}
}
public string Aaccount
{
set
{
this._Aaccount = value;
}
get
{
return this._Aaccount;
}
}
public string Apwd
{
set
{
this._Apwd = value;
}
get
{
return this._Apwd;
}
}
public string Aname
{
set
{
this._Aname = value;
}
get
{
return this._Aname;
}
}
public bool Exist
{
get
{
return this._Exist;
}
} #endregion #region 方法
/// <summary>
/// 根据参数Aaccount,获取管理员详细信息
/// </summary>
public void LoadData(string Aaccount)
{
Database db = new Database();
string sql = "select from admin where Aaccount= " + SqlStringConstructor.GetQuotedString(Aaccount);
DataRow dr = db.GetDataRow(sql); //利用Database类的GetDataRow方法查询用户数据 if (dr != null)
{
this._Aid = GetSafeData.ValidateDataRow_N(dr, "Aid");
this._Aaccount = GetSafeData.ValidateDataRow_S(dr, "Aaccount");
this._Apwd = GetSafeData.ValidateDataRow_S(dr, "Apwd");
this._Aname = GetSafeData.ValidateDataRow_S(dr, "Aname");
this._Exist = true;
}
else
{
this._Exist = false;
}
}
#endregion
}
}
我找了很多遍,发现不了哪里有错误,但是每次运行的时候,总是提示
错误 1 “Admin”并不包含“LoadData”的定义
错误 2 “Admin”并不包含“Aid”的定义
错误 3 “Admin”并不包含“Exist”的定义
错误 4 “Admin”并不包含“Apwd”的定义 看样子似乎是admin.cs有问题,在login中实例化的Admin没有效果,具体是哪里出错了呢?
Login页的代码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 Evaluation.BusinessLogicLayer;
namespace Evaluation.Web
{
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void btnLogin_Click(object sender, EventArgs e)
{
string LoginAccount = txtUserName.Text; //用户登录名
string password = txtPwd.Text; //密码 Admin admin = new Admin();
admin.LoadData(LoginAccount);
Session.Add("Aid", admin.Aid); if (admin.Exist) //如果用户存在
{
if (admin.Apwd == password) //如果密码正确,转入管理员页面
{
Response.Redirect("Admin.aspx");
}
else //如果密码错误,给出提示,光标停留在密码框中
{
Response.Write("<Script Language=JavaScript>alert(\"密码错误,请重新输入密码!\")</Script>");
}
}
else //如果用户不存在
{
Response.Write("<Script Language=JavaScript>alert(\"对不起,用户不存在!\")</Script>");
}
} protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Login.aspx");
}
}
}
管理员admin的类定义如下:using System;
using System.Collections;
using System.Data;using Evaluation.DataAccessLayer;
using Evaluation.DataAccessHelper;namespace Evaluation.BusinessLogicLayer
{
/// <summary>
/// admin 的摘要说明
/// </summary>
public class Admin
{
#region 私有成员
private int _Aid;
private string _Aaccount;
private string _Apwd;
private string _Aname;
private bool _Exist;
#endregion #region 属性
public int Aid
{
set
{
this._Aid = value;
}
get
{
return this._Aid;
}
}
public string Aaccount
{
set
{
this._Aaccount = value;
}
get
{
return this._Aaccount;
}
}
public string Apwd
{
set
{
this._Apwd = value;
}
get
{
return this._Apwd;
}
}
public string Aname
{
set
{
this._Aname = value;
}
get
{
return this._Aname;
}
}
public bool Exist
{
get
{
return this._Exist;
}
} #endregion #region 方法
/// <summary>
/// 根据参数Aaccount,获取管理员详细信息
/// </summary>
public void LoadData(string Aaccount)
{
Database db = new Database();
string sql = "select from admin where Aaccount= " + SqlStringConstructor.GetQuotedString(Aaccount);
DataRow dr = db.GetDataRow(sql); //利用Database类的GetDataRow方法查询用户数据 if (dr != null)
{
this._Aid = GetSafeData.ValidateDataRow_N(dr, "Aid");
this._Aaccount = GetSafeData.ValidateDataRow_S(dr, "Aaccount");
this._Apwd = GetSafeData.ValidateDataRow_S(dr, "Apwd");
this._Aname = GetSafeData.ValidateDataRow_S(dr, "Aname");
this._Exist = true;
}
else
{
this._Exist = false;
}
}
#endregion
}
}
我找了很多遍,发现不了哪里有错误,但是每次运行的时候,总是提示
错误 1 “Admin”并不包含“LoadData”的定义
错误 2 “Admin”并不包含“Aid”的定义
错误 3 “Admin”并不包含“Exist”的定义
错误 4 “Admin”并不包含“Apwd”的定义 看样子似乎是admin.cs有问题,在login中实例化的Admin没有效果,具体是哪里出错了呢?
解决方案 »
- 求助一个正则表达
- treeview contextmenu从客户端到服务器端
- 创建了一个APS.NET高级技术探讨群,欢迎高手加盟
- (超急)跪求高手:为什么我取不到网页的源代码?
- 高手指教,关于数据显示的问题!
- 简单的问题,如何让程序识别在文本框里输入的空格和回车?
- 穷小子求助,asp.net中调用过程
- 求助:问一个很菜的问题!(困了我一下午了):ListItem.add()和List.remove()
- 如何利用System.Drawing画表格!!谁有源代码?
- 用getstring()提取数据
- 页面自动刷新疑惑
- 再次询问有关静态页面的疑惑 [设计][网站分析问题(迷惑实例) 整个流程能说一说么? ]
if (admin.Apwd == password) //如果密码正确,转入管理员页面
{
Response.Redirect("Admin.aspx");
}
else //如果密码错误,给出提示,光标停留在密码框中
{
Response.Write(" <Script Language=JavaScript>alert(\"密码错误,请重新输入密码!\") </Script>");
} 我之前在业务层写了Admin的类,后来临时搞了个管理员的界面,界面是Admin.aspx,事实上,Admin.aspx对应的代码文件也叫Admin.cs,这样,两个类就重名了,怪不得老是找不到Admin的方法和属性,其实是找到Admin.aspx对应的Admin.cs里面去了。
只是,这破系统怎么都不提示一下,害我怨念了一下午。。
依旧要谢谢诸位