JP.*_*JP. 5 c# validation asp.net-mvc
我想将一个下拉列表绑定到一个整数,如下所示:
@Html.DropDownListFor(m => m.ProductID, Model.AllProducts, "")
Run Code Online (Sandbox Code Playgroud)
显然,在上面的例子中,我允许默认(空白)值,因此默认情况下不选择任何值.我的viewmodel非常简单,并且没有这些属性的任何注释
public SelectList AllProducts {get;set;}
public int ProductID {get;set;}
Run Code Online (Sandbox Code Playgroud)
似乎因为我绑定到int数据验证被强制导致在我的html中生成data-val*属性并导致我的客户端验证失败如果我不选择选项.替代方案似乎是绑定到一个字符串而不是一个int,然后解析服务器端的字符串 - 但是,这似乎有点hackish,我想知道是否有一个替代方案可以允许我绑定到一个int,默认(空)值但不强制使用此字段
谢谢
J.P
Dar*_*rov 11
如果下拉列表可能具有默认值,则应在视图模型中使用可为空的整数来绑定:
public SelectList AllProducts { get; set; }
public int? ProductID { get; set; }
Run Code Online (Sandbox Code Playgroud)
如果要强制验证用户实际选择使用Required属性修饰的值:
public SelectList AllProducts { get; set; }
[Required]
public int? ProductID { get; set; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4311 次 |
| 最近记录: |