我是一个新人,向所有高人学习请教:)
环境:
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。
因刚刚开始学,以上描述逻辑可能高手们看不懂,呵呵...
1、SILVERLIGHT是不能直接连接数据库进行操作的。
2、要在 SL中进行数据处理,需要用到后台技术
3、SL使用后台技术的方案可以是(但不限于):
a、调用SL所在页面的HTML宿主,通过 HTML来实现.AJAX之类的 调用
b、使用SL直接调用Web页面,进行后台提交
c、使用SL直接调用AJAX提交
d、调用WebService或WCF来 实现数据请求
4、在 服务端,根据SL提交的 账户、密码 信息进行数据库内容的校对,返回结果
5、SL根据调用返回结果,做最后一步处理。
至于如何执行后台调用,可以参考下相关书籍。