【问题标题】:Asp.Net Web Forms Bundling of jQuery librariesjQuery 库的 Asp.Net Web 表单捆绑
【发布时间】:2019-05-07 12:43:09
【问题描述】:

我有一个 Web 窗体应用程序,我正在努力让 jquery 捆绑正常工作。

我尝试了以下代码的多种变体,还尝试使用 NuGet 包AspNet.ScriptManager.jQuery,但到目前为止没有任何效果。

问题是脚本似乎是在客户端下载的,但它不起作用:

当调用 jquery 函数时,我得到典型的“TypeError: $(...).is not a function”-error.

我在 BundleConfig.cs 中的代码:

 BundleTable.EnableOptimizations = false;
 bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-3.3.1.js"));
 ScriptManager.ScriptResourceMapping.AddDefinition("jquery",
            new ScriptResourceDefinition
            {
                Path = "~/bundles/jquery",
                DebugPath = "~/bundles/jquery",
            });

在 Site.Master 中:

<asp:ScriptManager runat="server" EnablePageMethods="True">
            <Scripts>
                <asp:ScriptReference Name="jquery" />
                <asp:ScriptReference Path="~/Scripts/bootstrap.min.js" />
                <asp:ScriptReference Name="jquery.ui.combined" />
                <asp:ScriptReference Name="respond" />
                <asp:ScriptReference Path="~/Scripts/GlobalFunctions5.js" />
                <asp:ScriptReference Path="~/Scripts/AjaxControlToolkit/Bundle" />
                <%--Site Scripts--%>
            </Scripts>
        </asp:ScriptManager>

最终,我希望能够升级 jQuery NuGet 包而无需更改 BundleConfig,所以我也尝试了这个(它甚至不会在客户端加载 bunde):

bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-{version}.js"));

还有什么可能会影响捆绑 jQuery 或者我在这里做错了什么?

感谢您的帮助!

【问题讨论】:

    标签: jquery asp.net bundle config


    【解决方案1】:

    我通过启动一个新的 Web 表单项目并将所有内容移到那里来“解决”了这个问题。这已经解决了这个问题。部分问题可能是原始项目是使用 VS 2008 创建的,而新项目我使用的是 VS 2015。 我没有更改 Web 窗体模板,只是添加了 NuGet 包 AspNet.ScriptManager.jQuery 和 AspNet.ScriptManager.jQuery.UI.Combined。现在与 jQuery 的捆绑和缩小工作正常,但缺点和更新 jQuery 仍然需要更多的手动交互。

    【讨论】:

      猜你喜欢
      • 2012-09-10
      • 2012-08-30
      • 2012-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多