Ich arbeite an einer ASP.NET MVC-4-Webanwendung. Ich bin die Definition der folgenden in meinem Aktionsmethode zu bauen ein SelectList
:Kann der ViewBag-Name mit dem Model-Eigenschaftsnamen in einer DropDownList identisch sein?
ViewBag.CustomerID = new SelectList(db.CustomerSyncs, "CustomerID", "Name");
Dann habe ich meine DropDownListFor
bin Rendering wie in meinem folgen View
:
@Html.DropDownListFor(model => model.CustomerID, (SelectList)ViewBag.CustomerID, "please select")
Wie gezeigt Ich Benennung der ViewBag
Immobilie gleich dem Model
Eigenschaftsnamen sein, der CustomerID
ist. Aus meinen eigenen Tests ergab die Definition des gleichen Namens kein Problem oder Konflikt, aber sollte ich dies vermeiden?
Tun Sie dies nicht - es verursacht Probleme (zum Beispiel können Sie keine Client-Seite Validierung bekommen) –
@StephenMuecke Clien Validierung auf was? ViewBag hat keine Validierung –
@teovankot, auf der Modelleigenschaft 'CustomerID' - mit der Verwendung von OP wird es keine' Daten-Val- * '- Attribute erzeugen und der Benutzer wählt die erste" Bitte auswählen "-Option, nein Validierungsfehler wird angezeigt (wenn es sein sollte - vorausgesetzt, "CustomerID" ist typeof "int") –