【发布时间】:2022-03-29 21:53:36
【问题描述】:
我创建了 Blazor 服务器应用程序 (.net 5.0)。
将其添加到 startup.cs services.AddServerSideBlazor()。
然后集成Bootstrap模板,冒险的试炼就开始了。。
在 _Host.chtml 文件的部分中,我添加了 <script src="assets/js/sb-admin-2.js"></script>,其中包含以下定义
$("#sidebarToggle, #sidebarToggleTop").on('click', function (e) {
$("body").toggleClass("sidebar-toggled");
$(".sidebar").toggleClass("toggled");
if ($(".sidebar").hasClass("toggled")) {
$('.sidebar .collapse').collapse('hide');
};
});
它与标记的一部分相关联
<!-- Sidebar Toggler (Sidebar) -->
<div class="text-center d-none d-md-inline">
<button class="rounded-circle border-0" id="sidebarToggle"></button>
</div>
在同一个地方,在 _Host.chtml 文件中,我指定的最后一个指令
<script src="_framework/blazor.server.js" autostart="false"></script>
<script>
document.addEventListener("DOMContentLoaded",
function () {
Blazor.start({
logLevel: 1, // LogLevel.Debug
configureSignalR: builder => builder.configureLogging("debug") // LogLevel.Debug
});
});
</script>
现在谈谈这个问题。 有了这个配置,.js文件中定义的jQuery代码就不会被click事件执行了。
通过实验,我发现如果不执行 Blazor.Start() 指令,则按下 id=sidebarToggle 的按钮并执行 .js 文件中定义的 jQuery。
when blazor.run() was not running
执行后,该处理程序不存在
【问题讨论】:
-
看起来我遇到了同样的问题,具有讽刺意味的是,侧边栏也是如此。你有没有解决过这个问题?
标签: javascript c# jquery .net-core blazor-server-side