Asp.net xVal客户端中的前缀导致ModelBinder问题

Asp.net xVal客户端中的前缀导致ModelBinder问题,asp.net,asp.net-mvc,validation,xval,Asp.net,Asp.net Mvc,Validation,Xval,在过去的24小时里,我非常迷恋xVal。我把它引入了我的个人网站,它像一个冠军一样工作——我真不敢相信它是多么容易运行。我正在使用ASP.NETMVC、XVAL1.0和DataAnnotations验证器 现在尝试将相同的代码放到工作应用程序中,我看到了不同的行为。我有足够的逻辑,知道我可能有不同的东西,但我看不出它是什么 为了使客户端验证工作正常,我在字段中添加了前缀消息,如下所示: <%= Html.TextBox("message.Subject", Model.Subject, n

在过去的24小时里,我非常迷恋xVal。我把它引入了我的个人网站,它像一个冠军一样工作——我真不敢相信它是多么容易运行。我正在使用ASP.NETMVC、XVAL1.0和DataAnnotations验证器

现在尝试将相同的代码放到工作应用程序中,我看到了不同的行为。我有足够的逻辑,知道我可能有不同的东西,但我看不出它是什么

为了使客户端验证工作正常,我在字段中添加了前缀消息,如下所示:

<%= Html.TextBox("message.Subject", Model.Subject, new { @class = "contact-input required" })%>
现在,ModelBinder自动填充我的对象。这太棒了

问题是我的工作项目,我正在尝试做同样的事情客户端验证工作非常好,但是ModelBinder没有填充我的模型。我知道这是一个前缀问题,因为当我删除前缀时,就没事了

脚本中唯一的区别是工作项目使用的是缩小的jquery验证库


关于要查找什么有什么想法吗?

使xVal工作不需要任何前缀,但需要输入相同的名称,这样ModelBinder才能正常工作。因此,只需将DataAnnotation添加到要绑定到视图的类的属性中,并调用xVal html助手ClientSideValidation,还需要添加对xVal的引用,脚本:jquery、jquery.validate、xVal.validate…

[AcceptVerbsHttpVerbs.Post] 公共操作结果索引[BindPrefix=Message]消息消息消息

xval没有业务,这是关于asp.net mvc ModelBinder的

希望这是有帮助的


我的英语是pool:

我同意你的看法,但要想让验证摘要发挥作用,那就是方法,对吗?根据我正在关注的示例应用程序,我是新手。好的,回到它,并将其全部清理干净。现在不使用前缀。我得回去看看他们到底有什么意思。谢谢你的意见!对于验证,您只需向clientsidevalidation助手添加另一个fluent方法,例如.UseValidationSummary,也不要忘记在视图中的某个位置放置一个HTML.ValidationSummary是的,已经准备好了。谢谢你的帮助!
[AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Index(Message message)
    {
        try
        { // some code here