我有一个dropdownlistfor
:
@Html.DropDownListFor(model => model.Item.Item.Status, new SelectList(@Model.AllStatus, "id", "Description"), new { id = "statusDropdown" })
@Html.ValidationMessageFor(model => model.Item.Item.Status)
HTML 输出:
<select id="statusDropdown" class="valid" name="Item.Item.Status" data-val-required="The Status field is required." data-val-number="The field Status must be a number." data-val="true">
<option value="2">Completed by Admin</option>
<option value="3">General Error</option>
<option value="4">New</option>
</select>
如何更新此代码以设置默认选择选项?例如
<option value="4" selected>New</option>
我试过了:
@Html.DropDownListFor(model => model.Item.Item.Status, new SelectList(@Model.AllStatus, "id", "Description",@Model.SelectedStatusIndex), new { id = "statusDropdown" })
@Model.SelectedStatusIndex
值为 4,但不会将默认选项更改为 New。
我也试过:
@Html.DropDownListFor(model => model.SelectedStatusIndex, new SelectList(@Model.AllStatus, "id", "Description"), new { id = "statusDropdown" })
@Html.ValidationMessageFor(model => model.Item.Item.Status)
这会选择默认选项“新建”,但model.Item.Item.Status
不是由 HTTP POST 的下拉菜单设置。
其他细节:
model.Item.Item.Status
是一个整数。 @Model.AllStatus
是一个列出所有可用状态选项的 SQL 表。