首页 新闻 搜索 专区 学院

请高人指教 VS2010+Silverlight+WCF RIA SERVICES实现登录功能的问题

0
悬赏园豆:20 [待解决问题]

我是一个新人,向所有高人学习请教:)

环境:
1.Ms Sql2008中建立了一张Users表,其中包含UserID UserName Password和Role字段;
UserID为主键,用于登录时输入的用户ID;
UserName用于存放UserID对应的中文名,主要是用于在进入主页后将值赋给textblock控件,显示登录人员的中文名;
Role用于存放角色值 例如: 0为管理员,可以显示主页上的所有导航菜单(导航菜单是HyLinkButton);1为查询用户,只能显
示导航菜单中某几个,其他设为失效;
2.web服务端建立了ado.net实体数据模型和DomainServices;
3.login.xaml中放了两个textbox用于输入userID和password和一个button;

请教的问题:
在silverlight客户端如何使用login.xaml中两个textbox的值和Users表中的UserID和password值比对,如果存在就将
UserID对应的UserName和Role寸放在某个变量中或是独立存储中;

以上问题,个人思路是先在DomainServices.cs中添加一个public IQueryable<Users> GetUserIDAndUserPassword(int id,string pwd)方法,该方法体是 return this.ObjectContext.Users.Where(e=>e.UserID == id && e.password == pwd).FirstOrDefault(); 只返回Users表中符合条件的一条记录,然后在login.xaml.cs中的添加button_click事件,事件中调用GetUserIDAndUserPassword(int id,string pwd)方法,传入两个textbox的text值作为参数,然后判断是否有记录,如有记录就登录成功,并记录下该笔记录中的UserName和Role值,然后用判断Role的值,根据值显示相应的导航菜单。 button_click的具体代码不会实现,请高手指教,或是请高手指教更好的方法,但最好是使用Silverlight Ria Services实现的,不是wcf。

因刚刚开始学,以上描述逻辑可能高手们看不懂,呵呵...

MichaelWang的主页 MichaelWang | 初学一级 | 园豆:182
提问于:2012-06-13 21:38
< >
分享
所有回答(1)
0

1、SILVERLIGHT是不能直接连接数据库进行操作的。

2、要在 SL中进行数据处理,需要用到后台技术

3、SL使用后台技术的方案可以是(但不限于):

a、调用SL所在页面的HTML宿主,通过 HTML来实现.AJAX之类的 调用

b、使用SL直接调用Web页面,进行后台提交

c、使用SL直接调用AJAX提交

d、调用WebService或WCF来 实现数据请求

4、在 服务端,根据SL提交的 账户、密码 信息进行数据库内容的校对,返回结果

5、SL根据调用返回结果,做最后一步处理。

 

至于如何执行后台调用,可以参考下相关书籍。

无之无 | 园豆:5085 (大侠五级) | 2012-06-14 08:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册