2016-07-13 12 views
0

Ich zeige eine Dropdown-Liste für Länder, die von einem Datenbankaufruf in der Steuerung aufgefüllt wird. Beim Laden der Seite möchte ich, dass der ausgewählte Wert standardmäßig auf "Vereinigte Staaten" eingestellt wird. Wie mache ich das?asp.net MVC Standard-Wert für die Dropdown-Liste

-Code aus dem Blick:

<div class="form-group"> 
      @Html.LabelFor(m => m.Country) 
      @Html.DropDownListFor(m => m.Country, new SelectList(Model.CountriesDDL, "CountryCode", "Country"), "--Select--", new { @class = "form-control" }) 
</div> 
+0

Mögliche Duplikat [Dropdownlist, wie wählen Sie defaul t Wert] (http://stackoverflow.com/questions/28507948/dropdownlist-how-select-default-value) –

+0

Sie haben ein paar Möglichkeiten, dies zu tun. Sie können die Liste immer im Controller erstellen und dort einen Standardeintrag auswählen. Sie können die Liste der SelectedListItems entweder in Ihrem Modell oder in einem ViewBag platzieren. Sie können Jquery immer verwenden, und wenn das Fenster geladen wird, wählen Sie ein Element basierend auf Ihren Kriterien aus. –

Antwort

1

In Ihrer GET Aktion können Sie den Wert von Country Eigenschaft auf den Country der Vereinigten Staaten festgelegt (oder was auch immer Land möchten Sie als Standard eingestellt) Ihrer Ansicht

Modell
public ActionResult Show() 
{ 
    var vm = new YourViewModel(); 
    vm.CountriesDDL = GetCountriesFromSomeWhere(); 
    vm.Country="United States"; 
    return View(vm); 
} 

Country Unter der Annahme, ist vom Typ string

+0

Nehmen wir an, die Dropdown-Liste befindet sich auf einer Formular-Übermittlungsseite. Was passiert, wenn ein Benutzer aus der Dropdown-Liste "Kanada" auswählt und das Formular absendet, aber das Formular ungültig ist? Würde die Dropdownliste immer noch "Kanada" anzeigen oder würde sie auf "Vereinigte Staaten" zurückgesetzt? – PixelPaul

+0

Wenn Sie nach Kanada wechseln, wird das Land in Kanada in der HttpPost aktualisiert, wenn es die Formulardaten empfängt. – Shyju

Verwandte Themen