我使用AjaxSubmit后一种形式,并有侧服务器验证过使用XVal(RuleException方式)。我不用尝试/赶上的方式来增加错误的模型,然后送到观。而不是我想要使用HandleError attibute和在OnException我加入错误的模式。主要的问题是我怎么得到这些错误作为一个结果在阿贾克斯的电话?

有帮助吗?

解决方案

没有一个很好的解决方案建立在现在。这样做正确需要的客户端验证框架(因为显示的错误,你需要的动态变化HTML网页),以及直到最近,ASP.NET 视有无有。但是,ASP.NET 视2预2介绍了客户端验证,因此它是合理的假设,事情可能建立的框架。

与此同时,然而,HandleErrorAttribute不会帮助你。HandleErrorAttribute只知道如何重新定向的一个错误页,这一般不是你想要做什么在响应的服务器验证错误的,甚至与"正常"后,而且肯定没有AJAX员额。

真的有两个不同的方案需要处理:

  1. 验证错误是不是灾难性的失败;他们只是不好的用户的数据,这你应该期望。你只需要获得的信息返回至页,使该网页可以标记,以告知用户如何解决他们的数据。
  2. 你还需要处理灾难性的失败,如未预料到的例外情况。这是类似于什么HandleErrorAttribute不,因为你可以显示一个消息给一个用户,但是你不一定相匹配信息与特定的领域在你的网页。

到处理的第一个方案中的错误,需要包型国家为对象将parsable在JavaScript code;JSON是显而易见的适合这里。然后你需要有JavaScript code在客户面分析这个目的,并标志着长达形式领域。这是比较容易,如果你的领带入一个现有的客户端验证框架,该框架已包含代码,用于标记的形式领域。

到处理的第二种类型的错误,可以延长HandleErrorAttribute,以便提供JSON而不是HTML在发生灾难性的失败。再次,你会需要编写代码,将执行的活动的一个失败-google i/o大会的全球 ajaxError 事件是有用的,这里-这检测到这个结构化的错误信息已经创建了和显示某种有用的消息的用户。

如果所有这听起来有点参与,那么,这是,这是为什么它可能让更多的感觉到等待,看看会有什么建立在当视2终于获释。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top