读书人

业务层类不能调用,该如何处理

发布时间: 2012-02-05 12:07:15 作者: rapoo

业务层类不能调用
小弟学生,在用.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没有效果,具体是哪里出错了呢?


[解决办法]
把admin.cs 放App_Code 文件夹内
[解决办法]
放在App_Code 文件夹内 就算再建立子文件夹 也没问题的。

你在检查一下命名空间吧
[解决办法]
代码没问题呀,难道有妖孽在作祟?
[解决办法]
3楼说的对,命名空间都不一致啊,要不就是用相同的命名空间,要不就引用Admin的命名空间

读书人网 >asp.net

热点推荐