かもしれないが、あなたがまだあなたが信じているものを呼び出して、あなたのアールをチェックして、あなたのコードは、いくつかの他のEnumDropDownListFor
オーバーロードを呼び出すことが原因?
ドロップダウンにはオプションリストとしての列挙値が残るはずです。
あなたが代わりに試してください:ところで
<select name="MyProperty" id="MyProperty">
<option value="FirstEnumValue">FirstEnumLabel</option>
<option value="SecondEnumValue">SecondEnumLabel</option>
...
</select>
、ほとんどのブラウザでは、それはデフォルトで最初の非無効を選択します:
@Html.DropDownListFor(model => model.MyProperty,
EnumHelper.GetSelectList(typeof(YourEnum)),
new { @class = "combobox form-control" })
をあなたの結果のHTMLで、それは次のようになります。あなたがおそらく期待しているように空白のままにするのではなく、明示的にその値を無効な値に設定することで、JavaScriptでこれを克服することができます(enum値リストに関しては無効です)。
同時に、選択を義務付け(required
属性)したい場合は、禁止されているものをhtml specと尋ねます。
select要素は、指定された必要な属性を持っている場合、 に指定された複数の属性を持ち、かつ1のdisplay sizeを持っていない、そして select要素はplaceholder label optionを持っている必要があります。
そしてスペックはとしてそれを定義しています。select要素が必要な属性を指定した場合
は、 指定された複数の属性を持っていない、とdisplay size 1のがあります。 の場合、選択要素のリスト のオプション(ある場合)の最初のオプション要素の値が空の文字列であり、そのオプション要素の親の ノードがselect要素(optgroup要素ではない)である場合、その オプションselect要素のプレースホルダラベルオプションです。
いいえ、開けません。 – user1765862
** model.MyProperty **に値がない場合、何を表示しますか? – Davis
コースの列挙値。しかし、選択タイトルなし。 – user1765862