Frage

Ich habe eine MVC-App über SharpArch.In der Ansicht habe ich:

 Html.DropDownListFor(x => x.Location, 
     new SelectList(Model.PossibleLocations, "Id", "Address"), 
     "-- No Location --")

Ich habe zwei Probleme.

  1. Das Dropdown wird nicht aktualisiert, wenn die Ansicht an das Modell gebunden wird.
  2. Eine Auswahl wird korrekt beibehalten, außer wenn ich oben „Kein Standort“ ausprobiere.

Ich konnte mich um den ersten Punkt kümmern, indem ich x.Location in x.Location.Id änderte, aber dann hatte ich andere Probleme.

Ich kann viele Beispiele für DropDownList finden, aber keines, in dem das Speichern einer Null angezeigt wird.

Jede Hilfe wird geschätzt.

Danke

AKTUALISIEREN:

Ich habe gerade Resharper aktualisiert (ein kleines Update) und werde aufgefordert, DropDownListFor auszufüllen.Warum sollte das einen Unterschied machen?Es hat ausreichend funktioniert, um es zu binden, und jetzt funktioniert es überhaupt nicht mehr.

War es hilfreich?

Lösung

Sie können jederzeit das „leere“ einfügen SelectListItem in dein PossibleLocations Sammlung vor Weitergabe an die View und prüfen Sie, ob dieser „leere“ Wert (z. B. 0) vorhanden ist, wenn das Formular veröffentlicht wird

model.PossibleLocations.Insert(0, 
    new SelectListItem() { Text = "-- No Location --", Value = "0" };

Andere Tipps

Versuchen Sie, Ihre Modellklasse "abflachen", sodass StandortID der tatsächliche Wert ist, an dem Sie bindend sind

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top