Verwenden dropdownlistfor mit foreach in Asp.Net MVC-Ansicht?
Ich habe eine View mit einer foreach-Schleife eine Liste-Eigenschaft des Modells. Nun, ich möchte in der Lage sein, damit der Benutzer legen Sie den Wert jedes der Elemente in der Liste eine dropdownlist. Aber ich bin mir nicht sicher, wie das zu tun. Ich habe so etwas wie dieses, wenn es nicht in einer foreach-Schleife:
@Html.DropDownListFor(model => model.Level, new SelectList(new[] { 1, 2, 3, 4, 5 }, Model.Level))
Aber wie mache ich das, wenn ich Referenz-Element.Ebene in der Schleife statt? Hier ist mein code Anzeigen:
<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>
InformationsquelleAutor Anders | 2011-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde empfehlen, dass Sie vermeiden zu schreiben von Schleifen in Ihre Ansichten zu Gunsten der editor-Vorlagen. Also:
und in der entsprechenden editor-template (
~/Views/Shared/EditorTemplate/ModelName.cshtml
):Also die editor-template gerendert wird für jedes element in Ihrem Modell (das ist eine Sammlung von einigen Typ). Der wichtige Teil ist, dass der editor-Vorlage muss sich im
~/Views/Shared/EditorTemplates
und benanntXXX.cshtml
woXXX
ist der name des Typs verwendet, die in der main-view-Modell-Sammlung.Svensson, viele Gründe: saubere Ansichten, weniger code, stark typisierte Helfer, müssen keine sorgen zu machen erzeugen die richtige id und Namen, die für die Bindung zurück, ...
Ok, vielen Dank! In jedem Fall, ich merkte, ich hatte zu kategorisieren, Begriffe wie gut... das macht das ein wenig komplizierter. Wenn Sie fühlen, Sie sind willkommen, um einen Blick auf meine follow-up-Frage: stackoverflow.com/questions/5433710/...
Auch mit einem
DropDownListFor
funktioniert derzeit nicht gut innerhalb einer Schleife. Es ist eine offene Frage für dieses: link. Dieses problem existiert nicht mit editor-Vorlagen.InformationsquelleAutor Darin Dimitrov
Haben Sie versucht:
InformationsquelleAutor B Z
verwenden Sie die folgende syntax:
InformationsquelleAutor Mohammed Swillam
MVC erstellen der Schleife. Verwenden Sie einfach einen editor, Vorlage, Teilansicht in einem speziellen Ordner, und der rest funktioniert wie von Zauberhand.
Editor-Template
Ansicht
InformationsquelleAutor Richard Maxwell