我有一个 partialView,<select>
其中包含一个用于注册用户的可用角色列表。我是 MVC 的新手,我正在努力弄清楚如何绑定<select>
.
通常我会在Page_Load
ascx 上执行此操作,例如:
rolesSelect.DataSource = Roles.GetAllRoles().OrderBy(r => r);
rolesSelect.DataBind();
但是使用 MVC 就完全不同了。我的 view 和 partialView 看起来像这样:
用户.cshtml
@model IEnumerable<RobotDog.Models.UserModel>
<table>...</table>
<div id="addUser">
@Html.RenderPartial("_AddUser")
</div>
_AddUser.cshtml
@model RobotDog.Models.RegisterModel
@using(Html.BeginForm("AddUser","Admin", FormMethod.Post)) {
@Html.EditorFor(x => x.Email, new { @class = "input-xlarge", @placeholder = "Email"})
@Html.EditorFor(x => x.UserName, new { @class = "input-xlarge", @placeholder = "User Name"})
@Html.EditorFor(x => x.Password, new { @class = "input-xlarge", @placeholder = "Password"})
@Html.DropDownListFor(????) //not sure how to bind this?
}
我的问题是:
- 我需要将适当的集合从控制器传递到视图到 partialView 还是有更实用的可扩展方法?
- 是否可以为 partialView 提供一个控制器,这样我只需要担心将 partialView 添加到视图而不是视图的控制器吗?
- 这真的归结为将数据集合绑定到 PartialView 中的 DropDownList 的标准做法是什么?