mvc 4 drop-down-Standardwert ausgewählt
Ich wollen, wählen Sie den default-Wert in der Dropdown-Liste, wo policyId = 7, aber es hat nicht diesen Wert auszuwählen, was mache ich falsch?
Controller:
var pm = new ManagerClass();
IEnumerable<myClass> po = pm.GetDataFromDb();
IEnumerable<SelectListItem> Policies = new SelectList(po, "PolicyID", "PolicyName", new { PolicyID = 7 });
ViewBag.Policies = Policies;
Anzeigen:
@Html.DropDownListFor(m => m.PolicyID, ViewBag.Policies as IEnumerable<SelectListItem>, new { @class = "dropdown-field"})
InformationsquelleAutor Altaf Sami | 2013-05-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur die
PolicyID
Grundstück, auf Ihre view-Modell zu den von Ihnen gewünschten Wert vorausgewählt:Seit Ihr DropDownList ist gebunden an die
PolicyID
Eigenschaft (m => m.PolicyID
), dann wird Ihr Wert verwendet werden, bei der Entscheidung, welches element vorausgewählt.Auf "Seite Bearbeiten" funktioniert es, aber in der Seite hinzufügen, es hat nicht funktioniert. Ich gebe die id-Modell auch in der Seite hinzufügen, wie Sie tun.
Ich weiß nicht, was das Bearbeiten und Hinzufügen von Seiten Sie reden. Das hat bei mir immer funktioniert. Zeigt ein vollständiges Beispiel, so dass Sie zum reproduzieren des Problems wäre hilfreich, in ein besseres Verständnis Ihrer Szenario.
Ich habe gesehen, durchaus ein paar Fragen, wenn Leute die
SelectList
imViewBag
nicht zu wählen. Ob das Gießen oder was auch immer, aber das Heilmittel ist in der Regel nur kleben die in der dropdown-Liste view-Modell.sorry das ist mein Fehler, ich war nicht vorbei die Modell-parameter der Ansicht("ViewName", viewModel); ich war einfach mit dieser Ansicht("ViewName"). @Mattytommo ich gebe Euch Punkte auch deine Antwort war auch hilfreich.
InformationsquelleAutor Darin Dimitrov
Es ist, weil es nicht wirklich in der Auswahl der Wert in der
SelectList
.Ersten, machen es schöner, legen Sie die Artikel in Ihrem view-Modell um zu verhindern, dass der cast (das ist besser der Praxis zu):
Dann füllen Sie es:
Dann deiner Ansicht nach tun:
InformationsquelleAutor mattytommo
Dies ist für die DropDownList:
Controller:
Liste FieldListItems = new Liste();
FieldListItems.Add(new SelectListItem { Text = "Projekt-ID" Value = "Project_ID" });
FieldListItems.Add(new SelectListItem { Text = "Projekt Name", Value = "Project_Name" });
ViewBag.SearchByList = new SelectList(FieldListItems, "Wert", "Text" selectedValue: Project_ID);
Ansicht:
Sortieren Von: @Html.DropDownList("sortOrder", (SelectList)ViewBag.SortingByList)
Können Sie ändern selectedValue in den controller, um das Element, das Sie wollen als Standard -
InformationsquelleAutor StuntThumper
In Fall, dass Sie ein statisches Menü:
1 - erstellen Sie die folgende Klasse:
2 - fügen Sie den folgenden code in Ihr controller :
3 - fügen Sie den folgenden code, um Ihre Ansicht:
InformationsquelleAutor CMoussalli