从ASP.NET MVC 3开始,MicrosoftAjax.js,MicrosoftMvcAjax.js和MicrosoftMvcValidation.js是否被废弃?
从ASP.NET MVC 3开始, MicrosoftAjax.js
, MicrosoftMvcAjax.js
和MicrosoftMvcValidation.js
废弃? 我一直没有能够在网上find这方面的信息,但从我读过的内容来看,这意味着这些文件被用在ASP.NET MVC 1-2中,并被jquery.validate.min.js
, jquery.unobtrusive-ajax.min.js
和jquery.validate.unobtrusive.min.js
。 那是对的吗? 我还需要Microsoft文件吗?
是的,所有的Microsoft*
helper在ASP.NET MVC 3中都是过时的。对我来说,它们一直是过时的,但现在至less微软已经做出了这个官方的声明,并用jQueryreplace了它们。
已经引入了2个新的function
<appSettings> <add key="webpages:Version" value="1.0.0.0"/> <add key="ClientValidationEnabled" value="true"/> <add key="UnobtrusiveJavaScriptEnabled" value="true"/> </appSettings>
首先是UnobtrusiveJavaScriptEnabled
。 这意味着如果你在你的web.config中启用了这个function(当你创build一个新的ASP.NET MVC 3应用程序时默认启用), Ajax.BeginForm
和Ajax.ActionLink
等所有的Ajax.ActionLink
都会发送HTML5数据 – *属性在各自的DOM元素,而不是混合JavaScript与标记。 然后,你应该包括jquery.unobtrusive-ajax.js
脚本到你的页面,这将parsing这些属性,并使用jQuery悄悄地AJAX化他们。
第二个是ClientValidationEnabled
,它也是默认启用的。 不显眼的JavaScript的工作方式相同,当您启用此设置时,所有生成input字段的助手将在其上发出HTML5数据属性。 然后你包含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*
脚本。 从您的网站中删除它们。 删除这些文件。
如果您正在使用库,则只需要MicrosoftAjaxfunction。 Microsoft AJAX确实提供了在提供的JQuery库中找不到的一些function(尽pipe可以用插件复制)。 如果您在应用程序中未使用Microsoft AJAX,则可以删除对这些脚本的所有引用。