FineUI 官方论坛

标题: AppBox中,如何在用户管理页面显示用户所属的多个角色? [打印本页]

作者: Mr.Wu    时间: 2014-8-14 19:27
标题: AppBox中,如何在用户管理页面显示用户所属的多个角色?
AppBox在显示用户管理页面时,并没有直接在Grid中显示用户所属角色出来,而是在编辑或查看时,才显示出来。
是不是因为EF中用户与角色是一对多的关系,无法直接在Grid中显示用户对应的角色出来?(一个用户可能存在多个角色)
如果想直接在Grid中显示用户对应的角色出来,应该如何实现呢?
求大家帮助。
谢谢。

作者: Mr.Wu    时间: 2014-8-19 17:09
自己研究了一天,得出如下笨办法,请老大指点一下:
前台user.aspx中增加如下代码:
  1. <f:TemplateField Width="200px" HeaderText="角色">
  2.     <ItemTemplate>
  3.           <asp:Label ID="Label3" runat="server" Text='<%# GetRolesName(Eval("Roles")) %>'></asp:Label>
  4.     </ItemTemplate>
复制代码
后台user.aspx.cs:
  1.         /// <summary>
  2.         /// 获取用户角色Name值,在 ASPX 中调用
  3.         /// </summary>
  4.         /// <param name="gender"></param>
  5.         /// <returns></returns>
  6.         protected string GetRolesName(object roles)
  7.         {
  8.             HashSet<Role> r = roles as HashSet<Role>;
  9.             List<string> list = new List<string>();
  10.             for (int i = 0; i < r.Count;i++ )
  11.             {
  12.                 Role rs= r.ToArray()[i];
  13.                 list.Add(rs.Name);
  14.             }
  15.             return  String.Join(",", list);
  16.         }
复制代码





作者: sanshi    时间: 2014-8-19 17:26
Mr.Wu 发表于 2014-8-19 17:09
自己研究了一天,得出如下笨办法,请老大指点一下:
前台user.aspx中增加如下代码:后台user.aspx.cs:

这不是笨方法,就应该是这样的。




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4