自 ASP.NET MVC 3 起,MicrosoftAjax.js
、MicrosoftMvcAjax.js
和 MicrosoftMvcValidation.js
是否已过时?我无法在网上找到很多关于此的信息,但从我读到的内容来看,这意味着这些文件在 ASP.NET MVC 1-2 中使用,并被 jquery.validate 取代。 min.js
、jquery.unobtrusive-ajax.min.js
和 jquery.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 .BeginForm
和 Ajax.ActionLink
将在各自的 DOM 元素上发出 HTML5 data-* 属性,而不是将 javascript 与标记混合。然后,您应该将 jquery.unobtrusive-ajax.js
脚本包含到您的页面中,该脚本将解析这些属性并使用 jQuery 以不显眼的方式对它们进行 AJAX 化。
第二个是 ClientValidationEnabled
,它也是默认启用的。与 unobtrusive javascript 的工作方式相同,当您启用此设置时,所有生成输入字段的助手都将在其上发出 HTML5 data-* 属性。然后你包括 jquery.validate.js
和 jquery.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/