C# 如何获取角色列表并将其用作注册页面中的单选按钮或下拉列表?

C# 如何获取角色列表并将其用作注册页面中的单选按钮或下拉列表?,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,我将使用AccountController,我想为每个用户添加角色。 首先,我想从数据库中的“网页\角色”表中获取所有角色,然后我想在注册页面中显示所有expect admin,用户通过单选按钮或下拉列表选择其中一个,然后规则将在数据库中提供给用户: 我的基本问题是让所有角色首先在注册页面中向用户显示它们。 这是我的账户管理员: [AllowAnonymous] public ActionResult Register() { var allroles = R

我将使用AccountController,我想为每个用户添加角色。 首先,我想从数据库中的“网页\角色”表中获取所有角色,然后我想在注册页面中显示所有expect admin,用户通过单选按钮或下拉列表选择其中一个,然后规则将在数据库中提供给用户: 我的基本问题是让所有角色首先在注册页面中向用户显示它们。 这是我的账户管理员:

 [AllowAnonymous]
    public ActionResult Register()
    {

        var allroles = Roles.GetAllRoles(); 
        return View();
    }
这就是我的观点:

<fieldset>
    <legend>Registration Form</legend>
    <ol>
        <li>
            @Html.LabelFor(m => m.UserName)
            @Html.TextBoxFor(m => m.UserName)         
        </li>
        <li>
            @Html.LabelFor(m => m.Password)
            @Html.PasswordFor(m => m.Password)
        </li>
        <li>
            @Html.LabelFor(m => m.ConfirmPassword)
            @Html.PasswordFor(m => m.ConfirmPassword)
        </li>            
       <li>
            @Html.LabelFor(m => m.roleName)

            @Html.RadioButtonFor(m => m.roleName, 1, new {style="width:20px" }) simple user <br />
            @Html.RadioButtonFor(m => m.roleName, 2, new {style="width:20px" }) agent <br /></li>


    </ol>

登记表
  • @LabelFor(m=>m.UserName) @Html.TextBoxFor(m=>m.UserName)
  • @LabelFor(m=>m.Password) @Html.PasswordFor(m=>m.Password)
  • @LabelFor(m=>m.ConfirmPassword) @Html.PasswordFor(m=>m.ConfirmPassword)
  • @Html.LabelFor(m=>m.roleName) @RadioButton(m=>m.roleName,1,新的{style=“width:20px”})简单用户
    @RadioButton(m=>m.roleName,2,新的{style=“width:20px”})代理

  • 如何获取角色列表,并使用foreach在视图中为radiobutton而不是静态RadioButtoms使用它?

    模型类似于

    class UsersModel
    {
        public string UserName { get; set; }
        public string Password { get; set; }
        public string ConfirmPassword { get; set; }
        public IEnumerable<Role> Roles { get; set; }
    }
    class Role
    {
        Id { get; set; }
        Name { get; set; }
    }
    
    在razor视图中,可以显示角色的id和名称

    @model IEnumerable<Namespace.UsersModel>
    
    // rest of your code here.. only example of foreach
    
    @foreach (var role in Model.Roles) 
    {
        @Html.RadioButtonFor(m => m.Name, m.Id, new {style="width:20px" }) simple user <br />
    }
    
    @model IEnumerable
    //您的其余代码在这里。。foreach的唯一示例
    @foreach(Model.Roles中的var角色)
    {
    @RadioButton(m=>m.Name,m.Id,新的{style=“width:20px”})简单用户
    }
    @model IEnumerable<Namespace.UsersModel>
    
    // rest of your code here.. only example of foreach
    
    @foreach (var role in Model.Roles) 
    {
        @Html.RadioButtonFor(m => m.Name, m.Id, new {style="width:20px" }) simple user <br />
    }