javascript - 从 ASP.NET MVC 3 开始,MicrosoftAjax.js、MicrosoftMvcAjax.js 和 MicrosoftMvcValidation.js 是否已过时?

标签 javascript ajax asp.net-mvc-3 asp.net-ajax

自 ASP.NET MVC 3 起,MicrosoftAjax.jsMicrosoftMvcAjax.jsMicrosoftMvcValidation.js 是否已过时?我无法在网上找到很多关于此的信息,但从我读到的内容来看,这意味着这些文件在 ASP.NET MVC 1-2 中使用,并被 jquery.validate 取代。 min.jsjquery.unobtrusive-ajax.min.jsjquery.validate.unobtrusive.min.js。那是对的吗?我还需要 Microsoft 文件吗?

最佳答案

是的,所有 Microsoft* 助手在 ASP.NET MVC 3 中都已过时。对我来说,它们一直都是过时的,但现在至少 Microsoft 将其官方化并用 jQuery 替换了它们。

引入了2个新功能

<appSettings>
    <add key="webpages:Version" value="1.0.0.0"/>
    <add key="ClientValidationEnabled" value="true"/>
    <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>

第一个是UnobtrusiveJavaScriptEnabled。这意味着,如果您在 web.config 中启用此功能(当您创建新的 ASP.NET MVC 3 应用程序时默认启用),所有 Ajax.* 助手,例如 Ajax .BeginFormAjax.ActionLink 将在各自的 DOM 元素上发出 HTML5 data-* 属性,而不是将 javascript 与标记混合。然后,您应该将 jquery.unobtrusive-ajax.js 脚本包含到您的页面中,该脚本将解析这些属性并使用 jQuery 以不显眼的方式对它们进行 AJAX 化。

第二个是 ClientValidationEnabled,它也是默认启用的。与 unobtrusive javascript 的工作方式相同,当您启用此设置时,所有生成输入字段的助手都将在其上发出 HTML5 data-* 属性。然后你包括 jquery.validate.jsjquery.validate.unobtrusive.js 脚本来使它们工作,比如在你的 _Layout.cshtml 中。 它们必须按这个顺序出现,而且必须在jquery加载之后:

<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

因此在 ASp.NET MVC 3 中,您可以忘记所有 Microsoft* 脚本。从您的站点中删除它们。删除那些文件。

关于javascript - 从 ASP.NET MVC 3 开始,MicrosoftAjax.js、MicrosoftMvcAjax.js 和 MicrosoftMvcValidation.js 是否已过时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8782697/

相关文章:

javascript - 如何将 Service Worker 预取与跨导航取结合起来?

asp.net - 使用 ASP.NET MVC AJAX 时如何在客户端显示错误

javascript - 使用 Maven 运行 AngularJS 测试

javascript - 我如何使用 JQuery 图像 slider ?

php - Symfony Ajax 进度条

asp.net-mvc - 从 ViewData 填充下拉列表

c# - MembershipService.ChangePassword 不更改密码问题

c# - 创建类型 T 的通用选择列表生成方法

javascript警报功能奇怪的行为

javascript - 无法使用 AJAX Jquery 将值发布到 php 文件