2017-11-21 4 views
0

Ich habe eine Dropdown-Liste, die ich in meiner Sicht ausfüllen.Set Drop-Down-Liste Wert aus dem Modell im Menü Bearbeiten

<div class="form-group"> 
      @Html.LabelFor(model => model.AmPm, htmlAttributes: new { @class = "control-label col-md-2" }) 
      <div class="col-md-10"> 
       @Html.DropDownListFor(model => model.AmPm, new List<SelectListItem> 
       {      
        new SelectListItem{Text="AM", Value="1"}, 
        new SelectListItem{Text="PM", Value="2"}, 
        new SelectListItem{[email protected]"N\A", Value="3", Selected=true}, 
       }, new { id = "amPmDropDownSelect", @class = "form-control" }) 
       @Html.ValidationMessageFor(model => model.AmPm, "", new { @class = "text-danger" }) 
      </div> 
     </div> 

Als ich gekommen, um einen Datensatz zu bearbeiten, die einen Wert hat, würde ich den Tropfen downlist wie auf dem im Modell gespeicherten Wert ausgewählt werden. Ist es möglich, dies ohne jquery zu tun?

Wenn ich die Dropdown-Liste über ein leeres Modell lade, wollte ich "Text = @" N \ A ", Value =" 3 "als ausgewählten Wert verwenden und das Hinzufügen von Selected = true würde funktionieren, aber immer standardmäßig zeigen die erste in der Liste?

Antwort

1

Sie die AmPm Eigenschaft Ihrer Ansicht Modell möchten Sie den Wert der Option festlegen können auswählen, in Ihrer GET Aktion.

public ActionResult Edit(int id) 
{ 
    var vm = new YourViewModel(); 
    vm.AmPm="3"; 
    return View(vm); 
} 

Nun ist die DropDownListFor Hilfsmethode wählt die Option mit dem Wert "3".

Wenn der Typ der AmPm -Eigenschaft int ist, können Sie den int-Wert festlegen.

vm.AmPm=3; 

Sie können den Wert von Ihrem Unternehmen lesen und dass anstelle von harter Codierung bis 3, zum Beispiel

public ActionResult Edit(int id) 
{  
    var e=db.Tasks.Find(id); 
    var vm = new YourViewModel() { Title = e.Title }; 
    vm.AmPm = e.AmPm; // This line sets the selected value 
    return View(vm); 
} 

Sie können auch jetzt die Selected=true aus dem dritten SelectListItem Objekt entfernen Sie hinzufügen zu die Liste, die verwendet wird, um die Optionen zu bauen

+0

Danke Ich hatte bereits versucht, das Modell ohne Glück zu übergeben, aber es funktioniert jetzt, also muss ich einen Fehler gemacht haben! – JQuery

Verwandte Themen