我将使用帐户控制器,我想为每个用户添加角色。 首先,我想从数据库中的“webpage_role”表中获取所有角色,然后我想显示所有期望管理员在注册页面中,用户通过单选按钮或下拉列表选择其中一个,然后规则将给予用户在数据库中: 我的基本问题是让所有角色首先向注册页面中的用户显示它们。 这是我的帐户管理员:
[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>
我如何获得一个角色列表,并且foreach使用它来查看radiobutton而不是这个静态无线电接口?
答案 0 :(得分:0)
模型就像
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; }
}
您的剃刀控制器应该将模型提供给视图
[AllowAnonymous]
public ActionResult Register()
{
var allroles = Roles.GetAllRoles();
var model = // createUserModel
return View(model);
}
在剃须刀视图中,您可以显示角色的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 />
}