gpt4 book ai didi

jquery - MVC3 Ajax/JS 文件的快速和肮脏的解释,请 :)

转载 作者:行者123 更新时间:2023-12-03 22:49:52 27 4
gpt4 key购买 nike

我一直试图找到一篇像样的文章或片段来解释 Microsoft 包含在 MVC3 中的 JS(验证和 Ajax)文件之间的区别,但我找不到任何东西。

是否有人能解释一下这些差异以及它们应该如何使用(例如,一个是否背负另一个,是否出于 X 原因而使用,等等):

  • jquery.validate、jquery.validate.unobtrusive 和 MicrosoftMVCValidation
  • jquery.unobtrusive-ajax、MicrosoftAjax 和 MicrosoftMVCAjax

补充一下 - 基本上为什么我要使用 jquery.validate 与不显眼的或 MVC 验证。或者它们与 jquery.validate 等结合使用的目的是什么。Ajax 文件也是如此。

提前非常感谢:)

最佳答案

这是我的 2 美分:

  • (jquery.validate 和 jquery.validate.unobtrusive)与 (MicrosoftMVCValidation)

选择第一个,因为它不显眼,这意味着 HTML5 data-* 属性是在输入字段上生成的,并且验证器不显眼地附加到单独的 javascript 文件中。通过 Microsoft 验证,您的最终标记不再是标记,而是与 javascript 混合的标记。这不仅会增加 HTML 页面的大小,还会使它们变得更加丑陋,并且无法从外部静态资源的浏览器缓存功能中受益。

根据项目,我决定是直接使用 jQuery.validate 插件还是受益于自动生成的 HTML5 data-* 属性,并让 jquery.validate.unobtrusive 脚本根据我的一些 DataAnnotations 规则进行自动客户端脚本验证。查看模型。好吧,实际上我不使用 DataAnnotations,而是使用 FluentValidation.NET,但这对客户端来说并不重要,因为它们都会发出 ModelMetaData。我必须同意,通过 ASP.NET MVC 3,Microsoft 在这些方面向前迈出了一步 jquery.validate.unobtrusive 脚本。但基本上,这实际上取决于我正在从事的项目以及我需要的控制量。

  • (jquery.unobtrusive-ajax)与(MicrosoftAjax 和 MicrosoftMVCAjax)

以上都不是:-) 我建议您使用纯 jQuery,但如果您必须在 jquery.unobtrusive-ajax 和 MicrosoftAjax 之间进行选择,请选择第一个,原因与前一个完全相同。现在我也许应该解释一下为什么我都不喜欢。我已经指出了所有 Microsoft* 脚本的完全蹩脚之处,所以我们不再重复。甚至微软自己也意识到了他们的错误,从 ASP.NET MVC 3 开始,jQuery 成为默认库,并且包含它们的脚本只是为了与您可能要转换的旧应用程序兼容,但我想在未来的版本中它们将完全消失。问题是为什么纯 jQuery 与 jQuery.unobtrusive-ajax 相比?嗯,通过第一个,我可以更好地控制 AJAX 请求的事件。例如,使用 jquery.unobtrusive-ajax,当 OnSuccess 回调中返回 JSON 对象时,它们不会自动解析为 javascript 对象,您必须手动进行解析,这简直让我发疯。

关于jquery - MVC3 Ajax/JS 文件的快速和肮脏的解释,请 :),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6666788/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com