首页 新闻 搜索 专区 学院

ASP.NET隐式转换(VS2003)

0
悬赏园豆:10 [已解决问题] 解决于 2013-03-13 14:46
//DAL层代码
public static UserInfo[] Login(string UserName,string UserPwd)
{
DataTable dt
=DBHelp.getTable("select * from UserInfo where UserName='"+UserName+"'and UserPwd='"+UserPwd+"'");
UserInfo[] array
=new UserInfo[dt.Rows.Count];
for(int i =0,j=dt.Rows.Count;i<j;i++)
{
UserInfo user
= new UserInfo();
user.RoleId
=Convert.ToInt32(dt.Rows[i]["RoleId"]);
user.UserName
=dt.Rows[i]["UserName"].ToString();

array[i]
=user;
}
return array;

//BLL层代码

public static UserInfo[] LoginInfo(string UserName,string UserPwd)
{
return UserInfoServerce.Login(UserName,UserPwd);
}

 为什么它老说 :“无法将类型 Model.UserInfo[] 隐式转换为 BLL.UserInfo[]

代码该怎么改才正确啊?

我愿意是想把查询到的数据通过数组传到界面层去,应为03的版本不支持泛型List 我想用ArrayList.

谁能帮我改改啊?谢谢 !!急....

小七灬的主页 小七灬 | 初学一级 | 园豆:102
提问于:2010-09-02 10:57
< >
分享
最佳答案
0

你是不是 Model 、BLL 两个项目都有UserInfo 这个类型啊, 有的话,你就得这样写:

public static Model.UserInfo[] Login(string UserName,string UserPwd)
public
static Model.UserInfo[] LoginInfo(string UserName,string UserPwd)
或者
public static BLL.UserInfo[] Login(string UserName,string UserPwd)
public
static BLL.UserInfo[] LoginInfo(string UserName,string UserPwd)
收获园豆:10
HUHU慈悲 | 大侠五级 |园豆:9973 | 2010-09-02 11:00
其他回答(2)
0

你得在BLL和DAL中都引用同一个程序集的 UserInfo 定义.

Launcher | 园豆:45045 (高人七级) | 2010-09-02 11:01
恩 好了 谢谢 那个分数怎么给你啊 ,菜鸟,嘿嘿!!!
支持(0) 反对(0) 小七灬 | 园豆:102 (初学一级) | 2010-09-02 11:04
顺便问下 那个在界面层我要怎么样去接受他里面的值呢 比如我要用Session去存储里面的数据.
支持(0) 反对(0) 小七灬 | 园豆:102 (初学一级) | 2010-09-02 11:06
@抱着树死劲摇: 界面调用你的 BLL 层,假设你的BLL层命名空间为 BLL 如下: UserInfo[] users = BLL.LoginInfo("userName","password"); users 应该只含有一个 UserInfo 对象,因为一个用户只有一份用户信息. UserInfo user = users[0]; // 保存到 Session HttpContext.Current.Session.Add("userName",user);
支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2010-09-02 11:30
0

应该是名称冲突了 

Model层是否和BLL层都有 UserInfo类?

慧☆星 | 园豆:5555 (大侠五级) | 2010-09-02 13:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册