Lesen von hier: ASP.NET MVC
Aktion SelectCategory
wurde im Controller erstellt -
Ich bin nicht in der Lage, die Bindung von Daten in der folgenden Zeile zu verstehen.
%Vor%Während Daten auf ähnliche Weise gebunden werden,
%Vor%Ich erhalte folgenden Fehler-
Es gibt kein ViewData-Element vom Typ 'IEnumerable' hat den Schlüssel 'IdList'.
Controller-Aktion :
%Vor%Was vermisse ich? Danke für Ihre Hilfe!
Sie haben ViewBag.MovieType
= & gt; Wenn Sie @Html.DropDownList("MovieType")
verwenden, verwendet das Dropdown diesen Wert. Wenn Sie @Html.DropDownList("IdList")
schreiben, findet der Helfer in ViewBag keine entsprechende Eigenschaft IdList
und gibt einen Fehler aus, weil er nicht weiß, von wo er die Daten binden soll.
Alternativ können Sie, wenn Sie den Namen des Dropdown-Menüs ändern möchten, Folgendes verwenden:
%Vor% und Ihre POST-Aktion hat einen SelectedMovieType
-Parameter, um den ausgewählten Wert abzurufen.
Aber ich würde ViewBag vermeiden. Das Definieren eines Ansichtsmodells ist besser:
%Vor%und dann lassen Sie Ihre Controller-Aktion dieses Ansichtsmodell ausfüllen und an die Ansicht übergeben:
%Vor%und in Ihrer stark typisierten Ansicht:
%Vor%Ein müheloser Weg für die Datenbindung, um Daten an das Modell zu binden: Verwenden Sie den Rasierer nicht für das Dropdown-Menü. Binden Sie es manuell, holen Sie es mit dem FormCollection-Objekt.
Controller:
%Vor%Anzeigen
%Vor%Tags und Links asp.net-mvc