ドロップダウンリストのリスト前提
説明以下のようにドロップダウンリストのリストを作る場合、このままではドロップダウンリストがフィルされない。 <ul>
@for (var i = 0; i < 3; i++)
{
<li>@Html.DropDownListFor(model => Model.users[i].TeamId, ViewBag.TeamSelectList)</li>
}
</ul>
これを解決するには、コントローラー等で以下のようにドロップダウンリスト毎にフィルすべき値を指定して(ここではuserList[i].TeamId)、SelectListのリストを作り、 for (var i = 0; i < 3; i++) {
TeamSelectList[i] = new SelectList(teamList, "TeamId", "TeamName", userList[i].TeamId);
}
以下のようにビューでSelectListを指定する必要がある。 <ul>
@for (var i = 0; i < 3; i++)
{
<li>@Html.DropDownListFor(model => Model.users[i].TeamId, TeamSelectList[i])</li>
}
</ul>
SelectListのリストを作るのが煩雑な場合は、以下のようにビューの中でnew SelectListを作っても良い。 <ul>
@for (var i = 0; i < 3; i++)
{
<li>
@Html.DropDownListFor(model => Model.users[i].TeamId,
new SelectList(ViewBag.TeamList, "TeamId", "TeamName", Model.users[i].TeamId)
</li>
}
</ul>
参考 |
|