<select>
登録されているユーザーが使用できるロールのリストを保持するpartialView があります。私はMVCが初めてで、<select>
.
通常Page_Load
、ascx でこれを行います。たとえば、次のようになります。
rolesSelect.DataSource = Roles.GetAllRoles().OrderBy(r => r);
rolesSelect.DataBind();
しかし、MVC の場合はまったく異なります。私のビューと 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 にバインドするための標準的な方法は何ですか?