さて、最初に、DropDownListFor
あなたDropDownList
の最初の議論がExpression(Of Func(Of TModel, TProperty))
どちらの場合もDropDownList/For
、最後に2つの文字列を使用するオーバーロードはありません。1つはデフォルトのテキスト用で、もう1つはデフォルト値用です。
もし、するなら
@Html.DropDownList(Function(model) model.Type, DirectCast(ViewBag.Type, IEnumerable(Of SelectListItem)), "None Selected")
「NoneSelected」が選択されたオプションの場合、Model.Typeの値はnullになります。
デフォルト値とテキストを完全に管理したい場合は、SelectListItem
(のようにViewBag.Type
)に直接追加する必要があります。
そして使用する
@Html.DropDownList(Function(model) model.Type, DirectCast(ViewBag.Type, IEnumerable(Of SelectListItem)))
しかし、それが有用かどうかはわかりません。他の解決策では、「選択されていない」がそのようなものによって選択されているかどうかを確認できます(私はc#を実行し、構文エラーを許します)
If Model.Type is Nothing Then