我有一個模型的列表屬性foreach循環查看。現在,我希望能夠讓用戶使用下拉列表設置列表中每個項目的值。但我不知道該怎麼做。我用這樣的事情時,它不是在foreach循環:在Asp.Net MVC視圖中使用dropdownlist for foreach?
@Html.DropDownListFor(model => model.Level, new SelectList(new[] { 1, 2, 3, 4, 5 }, Model.Level))
但是我怎麼做到這一點的時候,我需要引用item.Level在循環呢?這裏是我查看代碼:
<div id="formDiv">
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "myForm" }))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Ny arbetserfarenhet</legend>
<table>
<tr>
@*<th></th>*@
<th>
Program
</th>
<th>
Nivå
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@item.Program.Name
</td>
<td>
@item.Level
</td>
</tr>
}
</table>
</fieldset>
}
</div>
感謝您的提示!是不是使用for循環的原因,它是這樣更優雅,或者其他一些原因?我可以使用它,但必須將選擇列表更改爲我以前使用的語法,我在列表中列出了一些奇怪的值和文本,否則它的工作正常! – Anders 2011-03-25 09:54:03
@Anders Svensson,原因很多:清晰的視圖,較少的代碼,強類型的幫助者,不需要擔心生成正確的id和名字來綁定回來,... – 2011-03-25 11:05:46
好的,謝謝!無論如何,我意識到我也必須對項目進行分類......這使得這一點變得更加複雜。如果您能夠接受,歡迎您查看我的後續問題:http://stackoverflow.com/questions/5433710/group-a-collection-in-mvc-view-and-update- model-in-controller – Anders 2011-03-25 15:26:14