我正在编写一个使用dotnet core 1.1 MVC的Web应用程序。我无法弄清楚为什么放在@section里面的javascript没有呈现?
我验证了我的_Layout.cshtml包含
@RenderSection("Scripts", required: false)
</body>
以下是我的观点。为简洁起见,我整合了代码。
Create.cshtml:
<h2>Create</h2>
@{Html.RenderPartial("_CreateOrEdit", Model);}
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
_CreateOrEdit.cshtml
<div class="row">
<a asp-action="Index">Back to List</a>
</div>
@section Scripts
{
<script type="text/javascript">
$(document).ready(function () {
$('.datepicker').datepicker({
format: "dd.mm.yyyy",
todayBtn: "linked",
language: "de"
});
});
</script>
}
我面临的挑战是。不呈现_CreateOrEdit.cshtml中的上述Scripts部分。
但是,如果我将此脚本放在Create.cshtml的Scripts部分中,如下所示,它将被渲染..我做错了什么。
Create.cshtml
<h2>Create</h2>
@{Html.RenderPartial("_CreateOrEdit", Model);}
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
<script type="text/javascript">
$(document).ready(function () {
$('.datepicker').datepicker({
format: "dd.mm.yyyy",
todayBtn: "linked",
language: "de"
});
});
</script>
}
_CreateOrEdit.cshtml
<div class="row">
<a asp-action="Index">Back to List</a>
</div>
答案 0 :(得分:0)
在局部视图中,您可以将def gen_perm(cur_item_set, cur_str=''):
if not cur_item_set:
yield cur_str
else:
for item in cur_item_set:
for item2 in gen_perm(cur_item_set - {item}, cur_str + item):
yield item2
g = gen_perm(set('abcd'))
print (list(g))
用于.js文件,将@Scripts.Render("~/Scripts/myScript.js")
用于css文件。
但是,值得一提的是,如果您的脚本依赖于其他包含的脚本(如jquery),那么您可能会遇到问题,因为您不一定能保证脚本的加载顺序。
建议在父页面上包含脚本(如果站点范围需要,则为_layout),而不是在局部视图中