2017-01-28 3 views
0

Ich möchte ein HTML-Element auf meiner Seite auswählen, um die Auswahl der Rechnungssteller für eine Zahlung anzuzeigen. Zusätzlich zu den Optionen für Rechnungssteller möchte ich eine Standardoption "Select" im Select-Element anzeigen. Ich verwende DropDownListFor von Html-Helfer wie unten angegeben:Standardoption in MVC DropDownList

@Html.DropDownListFor(m => m.BillerId, new SelectList(Model.Billers, 
        "BillerId", "BillerName", "Select"), new { @class = "form-control" }) 
@Html.ValidationMessageFor(m => m.BillerId, "", new { @class = "text-danger" }) 

Die HTML-Ausgabe I erhalten, wie unten angegeben ist:

<select class="form-control valid" data-val="true" data-val-number="The field BillerId must be a number." id="BillerId" name="BillerId"> 
    <option value="1">Idea</option> 
    <option value="2">Airtel</option> 
</select> 

Der Standardwert auswählen wird nicht angezeigt. Bitte lassen Sie mich wissen, wenn ich etwas falsch verstehe.

Antwort

1

Es gibt einen String-Parameter nach selectList wie optionLabel wie folgt.

@Html.DropDownListFor(m => m.BillerId, new SelectList(Model.Billers, 
        "BillerId", "BillerName"), "Select", new { @class = "form-control" }) 
1

Aus Ihrer Frage ist die ) an der falschen Stelle.

Was Sie haben:

@Html.DropDownListFor(m => m.BillerId, new SelectList(Model.Billers, 
       "BillerId", "BillerName", "Select"), new { @class = "form-control" }) 

Was es sein muss:

@Html.DropDownListFor(m => m.BillerId, new SelectList(Model.Billers, 
       "BillerId", "BillerName"),"Select", new { @class = "form-control" }) 

Dies wird die "Select" Zeichenfolge in der richtigen Position in Bezug auf die überlastete DropDownListFor Methode platzieren .. speziell die optionLabel Parameter.

Ich hoffe, das hilft!