c# - RenderSection - 脚本未在 ASP.Net Core 中的依赖视图上正确加载
问题描述
我有一个_Layout.cshtml
具有此最小化设置的文件:
布局.cshtml
<!DOCTYPE html>
<html lang="en">
<head>
<!-- stuff -->
</head>
<body>
@RenderBody()
</body>
<script src="~/jqueryui/jquery-ui.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.js"></script>
@RenderSection("Scripts", required: false)
</body>
</html>
然后,我创建了一个视图,其中包含使用上述参考文献中的timepicker
anddatepicker
的脚本,这些脚本可以jquery
正常加载和工作:
主视图.cshtml
<div>
<!-- some stuff -->
</div>
section scripts {
<script>
// Some page-specific JavaScript functions
function chkClickHandle() {
alert('foobar');
}
// The date/time picker jquery functions
$(function () {
$(".datepicker").datepicker({
dateFormat: "yy-mm-dd"
});
});
$(function () {
$(".timepicker").timepicker();
});
</script>
}
但后来我创建了一个导航栏:
导航栏.cshtml
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<nav><!-- stuff --></nav>
<div class="p-2 p-sm-3">
@RenderBody()
</div>
@RenderSection("Scripts", required: false)
并在我的顶部添加了对它的引用MainView.cshtml
:
@{
Layout = "~/Views/Shared/_NavBar.cshtml";
}
现在我的脚本不起作用。
它们呈现,但在页面中间而不是在页面底部。我的意思是,这就是他们弹出的地方,因为我@RenderSection("Scripts", required: false)
在视图的底部有NavBar
,但是如果我省略了那一点,我会收到一个错误:
以下部分已定义但尚未由页面在“/Views/Shared/_NavBar.cshtml”处呈现:“脚本”
那么如何在我的 MainView 上获取我需要的那些脚本,以便在其他所有内容都加载后,以像这样的嵌套视图呈现在页面底部?
我猜这是使用的全部意义,RenderSection
但在这个嵌套继承设置中我一定是错误地使用了它。
我可能需要页面顶部的 jQuery 引用吗?
我正在使用 ASP.Net Core 3.1
解决方案
推荐阅读
- r - 标准化电话号码数据
- php - 如何在php中添加上一个和下一个按钮?
- node.js - 在 Node.js 中使用 XSLT 转换 XML
- laravel-backpack - Laravel Backpack 通过代码导出 excel 和 pdf 中的表格
- java - 在遗传算法中并行化适应度函数
- php - 有没有办法将一些值(从一个表单)插入到 Codeigniter 中的两个不同的表中?
- laravel - Vue选择onchange道具到子组件不起作用
- r - 使用 spplot 在单页中绘制多个 shapefile
- java - 有没有办法将包含多个图像的二进制文件转换为pdf
- ios - 我们的代码样式在模拟器上与通过 testflight 部署在应用程序上看起来不同。需要帮助调试