我的模特:
public class EntryModel
{
[Required]
public string Date { get; set; }
public string Car { get; set; }
public string Engine { get; set; }
public string User { get; set; }
public int CarCod { get; set; }
public int EngineCod { get; set; }
}
我的观点:
<%=Html.Label("Car")%>
<%=Html.Text("Car", car,new { @class = js_car")%>
<%=Html.ValidationMessageFor(x=>x.Car) %>
<%=Html.TextBox("CarCod", carCod, new { @class = "js_car", @style = "display:none;",@id="_car_cod" })%>
我的问题:
发布数据时,“CarCod”始终在ModelState上触发错误,从而使ModelState.IsValid和Html.ValidationSummary都无法使用。
我已经有了解决方法(即没有使用它们),但知道原因会非常好。
答案 0 :(得分:1)
看起来你正在隐藏CarCod
文本框,因此它将以空字符串提交。模型期望它是int
,因此在将其转换为整数时遇到问题。如果将值设置为“0”会发生什么?
答案 1 :(得分:1)
要说明Garret所说的话,请CarCod
和EngineCod
为空。