MVC2 - Ghost模型错误

时间:2011-11-30 17:37:12

标签: c# asp.net-mvc validation asp.net-mvc-2

我的模特:

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都无法使用。

我已经有了解决方法(即没有使用它们),但知道原因会非常好。

2 个答案:

答案 0 :(得分:1)

看起来你正在隐藏CarCod文本框,因此它将以空字符串提交。模型期望它是int,因此在将其转换为整数时遇到问题。如果将值设置为“0”会发生什么?

答案 1 :(得分:1)

要说明Garret所说的话,请CarCodEngineCod为空。