我有一个问题,让asp.net和剃刀引擎创建一个选择了正确元素的下拉列表.无论我尝试什么,如果其中一个值为"0",将始终选择该项目.
我想要创建的是选择从-2到2的评级,0是中间值,但不应该预先选择.应强制用户做出决定,因此defualt值应为空.
使用选项标签创建下拉列表,如下面的代码所示,不会将默认值保留为空.例如,如果值为1-5,则这将起作用.
@Html.DropDownListFor(model => model.Rating, new SelectList(new List<SelectListItem>()
{
new SelectListItem() {Text = "-2", Value = "-2"},
new SelectListItem() {Text = "-1", Value = "-1"},
new SelectListItem() {Text = "0", Value = "0"},
new SelectListItem() {Text = "1", Value = "1"},
new SelectListItem() {Text = "2", Value = "2"}
}, "Value", "Text"), String.Empty, new { @class = "rating-select" })
Run Code Online (Sandbox Code Playgroud)
上面的代码将选定的标签添加到0项并创建以下html:
<select class="rating-select valid" data-val="true" data-val-number="The field Rating must be a number." data-val-required="Rating is required." id="Rating" name="Rating">
<option value=""></option>
<option …Run Code Online (Sandbox Code Playgroud)