2016-03-22 14 views
4

Ich Rendern ein Dropdown-Listenfeld mit meinem enums und ich habe nur 3 Optionen, aber aus irgendeinem Grund zeigt es vier. Die obere und Standardoption ist einfach leer und ich möchte das entfernen. Ich möchte, dass der Top/Default-Wert 'Option1' ist.Entfernen leeren/leeren Eintrag oben in EnumDropDownListFor Feld

Aufzählungen:

public enum EventType 
{ 
    [Display(Name = "Option 1")] 
    Option1, 

    [Display(Name = "Option 2")] 
    Option2, 

    [Display(Name = "Option 3")] 
    Option3 
} 

Ausblick:

@Html.EnumDropDownListFor(model => model.EventType, null, new { @id = "eventType", @class = "form-control" }) 

Vielen Dank für Ihre Hilfe.

Antwort

6

Ihr zweiter Parameter ist das "Option Label", mit dem das erste Element im Dropdown-Menü festgelegt wird. Aus der Dokumentation: "Der Text für einen Standard leeres Element"

eine Überlastung verwenden, die in der Option Beschriftung erfolgt nicht:

@Html.EnumDropDownListFor(model => model.EventType, new { @id = "eventType", @class = "form-control" }) 

UPDATE

Ich habe gerade versucht Ihren Code. Als ich beides tun:

@Html.EnumDropDownListFor(model => model.EventType, null, new { @id = "eventType", @class = "form-control" }) 

Und

@Html.EnumDropDownListFor(model => model.EventType, new { @id = "eventType", @class = "form-control" }) 

ich:

enter image description here

Das einzige Mal, dass ich eine weitere Option in der Dropdown-Liste zu bekommen ist, wenn ich in einem String übergeben, wie der zweite Parameter, wie z. B. "Wählen ..."

Jede Chance, die Sie tun etwas mit Javascript, um ein Element zum Dropdown hinzuzufügen?

+0

Ich habe es vorher versucht und der leere Wert ist immer noch da, also habe ich versucht, was in meinem OP war und der leere Wert ist auch noch da, nicht sicher, wie man es los wird. – James

+0

Ich möchte keinen Text für einen leeren Standardartikel haben. Wenn das Textfeld "erscheint", möchte ich, dass die erste Enumeration angezeigt und auch oben in der Liste angezeigt wird. – James

+0

Ich glaube nicht, dass ich irgendetwas mit Javascript mache, das das tun würde. Ich habe es geschafft, Option1 als Standard auszuwählen, aber wenn Sie auf die Dropdown-Liste klicken, gibt es immer noch eine leere Stelle, die keinen Sinn ergibt! – James

Verwandte Themen