前言:自定义 html 控件应该遵循包含在父表单中的部分视图中的标记:
<select id="SomeModelFieldId" name="SomeModelFieldId">
@{
<option value="">Select smthg...</option>
foreach(var item in SomeModelFieldList)
{
<option value="@item.Id">@item.Text</option>
}
}
</select>
需要通过赋予它们额外的属性来自定义“选项”行为。
问题是当我做这样的事情时
@Html.DropDownListFor(m => SomeModelFieldId, new SelectList(SomeModelFieldList), "Select smthg...", new { })
提交发生后验证工作正常[换句话说,在回发时 - 这对我来说是可以接受的],但是如果我将标记更改为前面提到的验证引擎什么都不做。
我已经比较了使用 mvc 提供的 DropDownListFor-control 和我的自定义标记生成的标记 - 它们似乎是相同的......我错过了什么吗?/ 设计上真的不可能吗?