剃刀观看多对多的关系

时间:2013-01-30 01:30:01

标签: asp.net-mvc-3 entity-framework razor

我有一个关于Razor观点的非常基本的问题。

我想为此模型创建一个用于创建和删除的视图。

模型如下

public class RolePriviledgeModel
{
    [Key]
    public int RolePriviledgeId { get; set; }
    public RoleModel Role { get; set; }
    public PriviledgeModel Priviledge { get; set; }
    public ICollection<PriviledgeModel> Priviledges { get; set; }

}

我想有两个下拉列表框,用于在视图上选择用户ID和角色ID。

如何从数据库上下文中获取角色ID和权限id以及在何处使用该函数?

1 个答案:

答案 0 :(得分:0)

创建一个ViewModel,它将具有Users和priviledges作为其属性。在您的控制器中,从数据库中获取数据,填充View模型并最终将其发送到视图。 您的视图可以使用“@ Html.DropDownListFor()”方法显示下拉列表框。 例如:

您的视图模型

   public class UserRoleViewModel
   {
    int userId {get;set;}
    SelectList Users{get;set;};
    int RoldeId {get;set;}
    SelectList Roles{get;set;}    
   }

在您的控制器中:

UserRoleViewModel urvm=new UserRoleViewModel();
urvm.users= new SelectList(db.Users.ToList(), "UserId","UserName");
urvm.Roles= new SelectList(db.Roles.ToList(),"RoleId","RoleName");
return View(urvm);

在您的视图中

@Html.DropDownListFor(model => model.UserId, Model.Users);
@Html.DropDownListFor(model => model.RoleId, Model.Roles);

希望这会有所帮助。祝你好运