2016-03-22 63 views
4

私の列挙型を使用してドロップダウンリストボックスをレンダリングしていますが、3つのオプションしかありませんが、何らかの理由で4つ表示されます。トップオプションとデフォルトオプションは単純に空白/空白で、これを削除します。私はトップ/デフォルト値を 'Option1'にします。EnumDropDownListForボックスの上の空白/空のエントリを削除します

列挙型:

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

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

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

ビュー:あなたの助けを

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

感謝。

答えて

6

2番目のパラメータは、ドロップダウンリストの最初の項目を設定するための「オプションラベル」です。 「デフォルトの空の項目のテキスト」

は、オプションのラベルにはなりませんオーバーロードを使用します:ドキュメントから

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

UPDATE

を私はあなたのコードを試してみました。私は両方を行うと:

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

そして

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

は私が取得:

enter image description here

私はドロップダウンリストで別のオプションを取得するだけの時間がある私は、文字列として渡すとき「選択...」などの第2パラメータ

もしあなたが何かしているドロップダウンに項目を追加するjavascriptのもの?

+0

以前はこれを試していましたが、空白の値がまだ残っていますので、私は自分のOPで何を試していましたが、ブランクの値もそこに残っています。 – James

+0

私は 'デフォルトの空の項目のテキスト'を持っていません。テキストボックスが表示されたら、最初の列挙を表示し、リストの最上部にも表示します。 – James

+0

私はそれを行うjavascriptで何かをやっているとは思わない。私はOption1のデフォルトを選択して取得することができましたが、ドロップダウンリストをクリックすると、それでも理にかなっていない空白が残っています! – James

関連する問題