gen*_*eek 9 asp.net asp.net-mvc asp.net-mvc-3
知道为什么以下下拉列表不会使用必填字段验证类型为int(下面的"标题"字段)?
[Required] // This works!
[Display(Name = "Name")]
public string Name { get; set; }
[Required] // This doesn't work
[Display(Name = "Title")]
public int TitleId { get; set; }
<div class="editor-label">
@Html.LabelFor(model => model.Name, "Name")
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name, "This can't be blank!")
</div>
<div class="editor-label">
@Html.LabelFor(model => model.TitleId, "Title")
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.TitleId, (SelectList)ViewBag.TitleId, String.Empty)
@Html.ValidationMessageFor(model => model.TitleId)
</div>
Run Code Online (Sandbox Code Playgroud)

Mer*_*nzo 21
根据此工作项,当ViewBag中的SelectList使用与相关字段相同的名称时,客户端验证会中断.(即两者都TitleId属于你的情况.)
试试这个:
@Html.DropDownListFor(model =>
model.TitleId, (SelectList)ViewBag.TitleIdList, String.Empty)
Run Code Online (Sandbox Code Playgroud)
将SelectList重命名为TitleIdList相应的.
| 归档时间: |
|
| 查看次数: |
19768 次 |
| 最近记录: |