私はコントローラに次のようなものを構築しています:SelectList
SelectListからASP.NET MVCドロップダウンリスト
var u = new NewUser();
u.UserTypeOptions = new SelectList(new List<SelectListItem>
{
new SelectListItem { Selected = true, Text = string.Empty, Value = "-1"},
new SelectListItem { Selected = false, Text = "Homeowner", Value = ((int)UserType.Homeowner).ToString()},
new SelectListItem { Selected = false, Text = "Contractor", Value = ((int)UserType.Contractor).ToString()},
});
return u;
そして、このように私のビューに表示する:
@Html.DropDownListFor(m => m.UserType, Model.UserTypeOptions)
私はそれを非常に簡単ドロップダウンリストがどうあるべきかでSelectListItem
秒の有効なセットを与え、代わりに取得していますように見えます良好な値とテキストを持つ有効な<option>
リスト、私はこれを取得:
<select data-val="true" data-val-range="A user type must be selected." data-val-range-max="2" data-val-range-min="1" data-val-required="The UserType field is required." id="UserType" name="UserType" class="input-validation-error">
<option>System.Web.Mvc.SelectListItem</option>
<option>System.Web.Mvc.SelectListItem</option>
<option>System.Web.Mvc.SelectListItem</option>
</select>
できますか?私が知る限り、これはうまくいくはずです。
に世界であなたは1 'SelectList'を作成し、それから、別の' SeelctList'を作成する理由。 'SelectListItem'の' Selected'プロパティを設定することは、無意味です - HtmlHelperによって無視される - 何が選択されるかを決定するプロパティ 'UserType'の値(' Selected'プロパティが尊重される唯一の時間は作成時ですあなたのモデルに束縛されていないドロップダウンリスト(例えば '@Html。DropDownList( "NotAProperty"、Model.UserTypeOptions) ') –