【问题标题】:ASP.NET MVC 3 and jquery.unobtrusive-ajax.min.jsASP.NET MVC 3 和 jquery.unobtrusive-ajax.min.js
【发布时间】:2012-07-04 19:44:07
【问题描述】:

我想使用 Ajax.ActionLink Html 助手,因此我需要 jquery.unobtrusive-ajax.min.js 库,但 IE 总是显示此错误:

Microsoft JScript 运行时错误:无法设置属性“unobtrusive”的值:对象为空或未定义

我已经读到解决方案是使用 jquery.validate.min.js 和 jquery.validate.unobtrusive.min.js 但后来我无法识别服务器端的 ajax 调用。

【问题讨论】:

    标签: asp.net-mvc-3 unobtrusive-ajax


    【解决方案1】:

    我读到解决方案是使用 jquery.validate.min.js 和 jquery.validate.unobtrusive.min.js

    不,这两个脚本与jquery.unobtrusive-ajax.min.js 无关。它们用于不显眼的验证。对于 Ajax.* 助手,您只需要 jQueryjquery.unobtrusive-ajax.min.js(包含在 THAT 顺序中)。

    因此,对于不显眼的 AJAX,您需要:

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

    如果您想使用不显眼的验证,您还可以在之后包含 2 个脚本(按 THAT 顺序):

    <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>
    

    您应该确保的另一件非常重要的事情是,您已经从项目中完全删除了任何Microsoft*.js 脚​​本的痕迹。这些脚本已过时,默认情况下不再使用从 ASP.NET MVC 3 开始的脚本。还要确保您在 web.config 中启用了不显眼的 AJAX,否则系统将回退到旧版 Microsoft ajax 脚本:

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

    【讨论】:

    • 感谢您的回复。我使用这些:jquery-1.7.2.min.js、jquery.unobtrusive-ajax.min.js、jquery.validate.min.js、jquery.validate.unobtrusive.min.js、jquery-ui-1.8.20。 min.js 和我已经设置了 web.config 但我如何才能消除此错误:Microsoft JScript 运行时错误:无法设置属性“unobtrusive”的值:对象为空或未定义?因为据我所知,这是由于 jquery.unobtrusive-ajax.min.js.
    • 请注意 jquery.unobtrusive-ajax.js 不兼容任何高于 1.8.3 的 jquery 版本。 jquery 1.8.3 是与 jquery.unobtrusive-ajax.js 兼容的最新版本。
    【解决方案2】:

    这是一篇旧文章,但如果有人需要关于不显眼的 ajax 的最新信息,可以在这里找到:

    http://nuget.org/packages/Microsoft.jQuery.Unobtrusive.Ajax/3.0.0-beta2

    还有其他适用于最新 jquery 库的稳定版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 2011-05-15
      • 2011-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多