Are MicrosoftAjax.js
, MicrosoftMvcAjax.js
and MicrosoftMvcValidation.js
从 ASP.NET MVC 3 开始已过时?我在网上找不到太多关于此的信息,但从我读到的内容来看,这意味着这些文件在 ASP.NET MVC 1-2 中使用,并被替换为jquery.validate.min.js
, jquery.unobtrusive-ajax.min.js
and jquery.validate.unobtrusive.min.js
。那是对的吗?我还需要 Microsoft 文件吗?
是的,全部Microsoft*
helpers 在 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
and Ajax.ActionLink
将在各自的 DOM 元素上发出 HTML5 data-* 属性,而不是将 javascript 与标记混合。那么你应该包括jquery.unobtrusive-ajax.js
将脚本添加到您的页面,该脚本将解析这些属性并使用 jQuery 以不显眼的方式 AJAX 化它们。
第二个是ClientValidationEnabled
默认情况下也是启用的。与不显眼的 javascript 的工作方式相同,当您启用此设置时,生成输入字段的所有帮助程序都将在其上发出 HTML5 data-* 属性。然后你包括jquery.validate.js
and 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*
脚本。将它们从您的网站中删除。删除那些文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)