在同一项目但不同页面中加载多个 jquery 版本

Load multiple jquery version in the same project but not the same pages

我正在努力将 aspx 项目更新为 asp 网络 MVC。由于工作正在进行,一半的页面仍在 apsx 中。对于我的 aspx 页面,我需要加载 jquery-1-x-x,对于我的 asp 网页,我需要加载 jquery-3-x-x(我使用一些 jquery-3 功能在我的 mvc 页面上,但在我的 aspx 页面上使用此版本会引发错误,我无法处理)。

为此,我在 Portail_MasterPage

中加载了 jquery-1
<asp:ScriptReference Path="~/Scripts/jquery-1.10.2.js" />

为了在我的 asp 网页中添加 jquery-3,我使用了捆绑包。我的 BundleConfig.cs 中有这个:

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

然后我使用了包含这一行的布局文件:

@Scripts.Render("~/bundles/jquery")

并且在每个 html 文件(asp 网页)中被调用:

@{
ViewBag.Title = "SaisieConges";
Layout = "~/Areas/MVC/Views/Shared/_Layout.cshtml";}

有了这个,我在我的 aspx 页中加载了 jquery-1-x-x,并且 jquery-1-x-x + jquery-3-x-x加载到我的 asp 网页中。但我最近发现在同一页面加载两个 jquery 版本会引发问题。

所以,我想知道是否有一种方法可以只加载一个特定的 jquery 版本,具体取决于我是否在 aspx 页面上。

感谢您的宝贵时间,对不起我的英语!

我找到了一种方法来做我想做的事,为他的整个项目(aspx + aspnet)保留一个全局母版页,但我不得不修改我的每个 aspx 文件(这并不重要,因为我打算更新后删除它们)。

我已将我的脚本引用放在 ContentPlaceHolder 中,如下所示:

<asp:ContentPlaceHolder id="ScriptManager" runat="server">

    <asp:ToolkitScriptManager ID="ToolkitScriptManager0" runat="server" EnableScriptGlobalization="true" EnablePartialRendering="true" CombineScripts="false" ScriptMode="Release">
        <Scripts>
            ...
            <asp:ScriptReference Path="~/Scripts/jquery-3.5.1.js" />
            ...
        </Scripts>
    </asp:ToolkitScriptManager>

</asp:ContentPlaceHolder>

因此,每个文件默认都有 jquery-3-5-1。要覆盖此版本(而不是添加第二个版本),您可以像这样修改您想要的 aspx 页面中的原始 ContentPlaceHolder :

    <asp:Content ID="Content3" ContentPlaceHolderID="ScriptManager" Runat="Server">
    <asp:ToolkitScriptManager ID="ToolkitScriptManager0" runat="server" EnableScriptGlobalization="true" EnablePartialRendering="true" CombineScripts="false" ScriptMode="Release">
            <Scripts>
                ...
                <asp:ScriptReference Path="~/Scripts/jquery-1.10.2.js" />
        ...
            </Scripts>
     </asp:ToolkitScriptManager>
</asp:Content>

有了这个,我可以只加载所需的 jquery 版本。