c# - 具有预选值的 MVC 下拉列表不允许在必填字段时提交表单
问题描述
我有一个由州填充的下拉列表。加载更新地址页面时,该字段已填写并且状态已选中。我在模型内的这个 State 字段中添加了数据注释“Required”,但它不允许预设值。它没有显示消息,但我无法提交表单,我需要选择状态才能提交表单(我猜是重新选择)。如何告诉表单预选值是要验证的值?
[Required(ErrorMessageResourceType = typeof(Resources), ErrorMessageResourceName = "StateRequired")]
public string State { get; set; }
@Html.DropDownListFor(m => m.State, (IEnumerable<SelectListItem>)Model.StatesList, Model.SelectedState, new { @class = "form-control form-select" })
SelectedState
是一个模型属性,其用户地址的 Db 值已存储在 Db 中。
解决方案
好的,这是解决方案,@LarryBud 评论指出我正确的方向。
所以基本上,选定的值没有设置在列表中,但是有人在文本“选择状态”通常所在的位置添加了该值,因此状态显示但不是列表的一部分。
我只是在状态列表中将用户的状态标记为选中,它就解决了。
DDList.Add(new SelectListItem() { Text = row["State"].ToString(), Value = row["Abbreviation"].ToString(), Selected = true });
推荐阅读
- testing - 我无法启动 Internet Explorer 11,始终在 Windows 10 中打开 Edge
- reactjs - NextJS 9:在父路由组件中渲染子路由
- swift - Parse 平台中会话过期时重复的匿名用户
- android - 删除 OnBackPressedCallback 片段管理器
- php - 循环中的PHP SimpleXMLElement addChild仅显示一次最大值
- node.js - 为什么 mongoose.find 返回一个空数组
- ios - 快速本地化具有属性的文件
- python - numpy中Kronecker产品的双循环矢量化和重塑
- c++ - 使用 Excel C API 调用 Excel 宏函数
- python - 值错误:操作数无法与形状一起广播 (114,9) (8,) (114,9)