【发布时间】:2019-02-04 00:58:50
【问题描述】:
亲爱的,我在更新到 bootstrap 4 后尝试在我的项目中使用下拉菜单,它在更新之前工作但在更新之后没有工作,无论如何问题发生在 js 中,当我尝试点击下拉按钮时出现以下错误。
Uncaught TypeError: Bootstrap dropdown require Popper.js (https://popper.js.org)
at Dropdown.toggle (bootstrap.js:1533)
at HTMLButtonElement.<anonymous> (bootstrap.js:1690)
at Function.each (jquery-3.0.0.js:359)
at jQuery.fn.init.each (jquery-3.0.0.js:152)
at jQuery.fn.init._jQueryInterface [as dropdown] (bootstrap.js:1675)
at HTMLButtonElement.<anonymous> (bootstrap.js:1842)
at HTMLDocument.dispatch (jquery-3.0.0.js:5087)
at HTMLDocument.elemData.handle (jquery-3.0.0.js:4895)
我进行了很多搜索来解决这个问题,我尝试将来自 umd 的 popper.js 和来自链接的 popper.js 直接包含到母版页或同一页面上,但它不起作用
我也尝试更改 cssClass 但没有任何反应。
这是我的母版页(Visual Studio 默认添加)
<head runat="server">
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title><%: Page.Title %> - Arabian Food Supplies</title>
<asp:PlaceHolder runat="server">
<%: Scripts.Render("~/bundles/modernizr") %>
</asp:PlaceHolder>
<webopt:BundleReference runat="server" Path="~/Content/css" />
<link href="Content/fontawesome-all.css" rel="stylesheet" />
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<style type="text/css">
.auto-style1 {
font-size: small;
color: #999999;
}
</style>
</head>
<body>
<form runat="server">
<asp:ScriptManager runat="server" EnablePageMethods="true" EnableCdn="True">
<Scripts>
<%--To learn more about bundling scripts in ScriptManager see https://go.microsoft.com/fwlink/?LinkID=301884 --%>
<%--Framework Scripts--%>
<asp:ScriptReference Name="MsAjaxBundle" />
<asp:ScriptReference Name="jquery" />
<asp:ScriptReference Name="bootstrap" />
<asp:ScriptReference Name="respond" />
<asp:ScriptReference Name="WebForms.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebForms.js" />
<asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebUIValidation.js" />
<asp:ScriptReference Name="MenuStandards.js" Assembly="System.Web" Path="~/Scripts/WebForms/MenuStandards.js" />
<asp:ScriptReference Name="GridView.js" Assembly="System.Web" Path="~/Scripts/WebForms/GridView.js" />
<asp:ScriptReference Name="DetailsView.js" Assembly="System.Web" Path="~/Scripts/WebForms/DetailsView.js" />
<asp:ScriptReference Name="TreeView.js" Assembly="System.Web" Path="~/Scripts/WebForms/TreeView.js" />
<asp:ScriptReference Name="WebParts.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebParts.js" />
<asp:ScriptReference Name="Focus.js" Assembly="System.Web" Path="~/Scripts/WebForms/Focus.js" />
<asp:ScriptReference Name="WebFormsBundle" />
<%--Site Scripts--%>
</Scripts>
</asp:ScriptManager>
第一次尝试:
<div class="btn-group" role="group">
<button id="btnGroupDrop1" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Action <span class="caret"></span></button>
<ul class="dropdown-menu" aria-labelledby="btnGroupDrop1">
<li>
<asp:LinkButton ID="LinkButton2" runat="server">Solve</asp:LinkButton></li>
<li>
<asp:LinkButton ID="LinkButton3" runat="server">Abort</asp:LinkButton></li>
</ul>
</div>
第二次尝试
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
Action<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Solve</a></li>
<li><a href="#">Abort</a></li>
</ul>
</div>
【问题讨论】:
-
没有重复,除了依赖 popper.js 的东西外,一切正常
-
“重复”表示其他人也有这个问题,并且收到的答案可能也会对您有所帮助。所以我们不需要把这些答案复制到这里。
-
谢谢汉斯,但我尝试了上述解决方案,但它不适用于我。
标签: javascript asp.net webforms bootstrap-4 popper.js