更新表单中如何为下拉菜单(dropdown)设置默认选中值
问题原因
你当前的下拉菜单代码只给了第一个默认选项固定的selected属性,没有和后端返回的已保存ControlState值做匹配判断,所以无法自动选中之前提交的选项。
解决方法
给每个option标签增加动态判断逻辑,当option的value和@item.ControlState的值一致时,自动添加selected属性,同时删掉第一个选项的固定selected属性避免冲突。
修改后的完整代码如下:
@foreach (var item in Model){ <td><input class="form-control" type="text" value="@item.Deiscreption" name="Deiscreption" required autocomplete="off" /></td> <td> <select class="form-control" name="ControlState" required autocomplete="off"> <option value="" default="">انتخاب کنید</option> <option value="1" @(item.ControlState == 1 ? "selected" : "")>قرمز</option> <option value="2" @(item.ControlState == 2 ? "selected" : "")>زرد</option> <option value="3" @(item.ControlState == 3 ? "selected" : "")>سبز</option> <option value="4" @(item.ControlState == 4 ? "selected" : "")>سفید</option> </select> </td> }
注意事项
- 如果你的
ControlState字段是字符串类型,判断时需要给值加上引号,写法调整为@(item.ControlState == "1" ? "selected" : "")即可 - 如果
ControlState可能为空,不需要额外调整,空值时会自动选中第一个默认的空白选项
内容的提问来源于stack exchange,提问作者stoo frisat
相关产品推荐
相关产品推荐

