我正在构建一个Web应用程序,并使用Nancy和Super Simple视图引擎为用户呈现内容。由于很多页面都有相同的布局(标题,侧面菜单等),因此我在主页面中分离了可重复使用的内容。
目前我有
--Root_file (Master page)
--Home
--Products
--Contact
--Account (Master page)
--Overview
--Manage
--Post
root_file下的所有文件都有@Master['root_file.html']
引用。帐户下的所有文件都有@Master['account.html']
。
现在我的问题是,对于Account下的Manage,我想将js-script设置为附加标头。我想,通过引用顶级母版页中的标记,我可以通过引用添加js。
这是一个概述。
Root_file.html
<head>
<title>Nice little title.</title>
@Partial['PartialView/header_references.html']
@Section['Additional_headers'];
</head>
<body>
@Section['Content'];
</body>
account.html
@Master['root_file.html']
@Section['Content']
<div class="container">
<div class="row justify-content-center">
@Partial['PartialView/side_menu.html']
<div class="col p-3">
@Section['Inner_content'];
</div>
</div>
</div>
@EndSection
manage.html
@Master['account/overview.html']
@Section['Additional_headers']
<script src="../../../Content/scripts/file-upload.js"></script>
@EndSection
我希望我可以通过嵌套母版页设置@Section[Additional_headers]
,但结果并不能反映我的希望。
我做错了什么,或者不能设置这样的部分?
答案 0 :(得分:0)
这是一个老问题,我想你在其他地方得到了这个答案,但也许其他人有同样的问题。 我最终在子页面中包含了新主页的占位符。它不是很漂亮,但它完成了工作。
在您的html页面中,您可以参考
@Section['Additional_headers']
相反,您可以在包含在新占位符中的子母版页中引用它,例如:
@Section['Additional_headers']
@Section['Sub_Additional_headers']
@EndSection
然后,您可以在任何基础html页面中引用此新部分,例如
@Section['Sub_Additional_headers']
<label>This is in a nested master page</label>
@EndSection
要重复使用上面的示例,它将看起来像这样
Root_file.html
<head>
<title>Nice little title.</title>
@Partial['PartialView/header_references.html']
@Section['Additional_headers'];
</head>
<body>
@Section['Content'];
</body>
account.html
@Master['root_file.html']
@Section['Additional_headers']
@Section['Sub_Additional_headers']
@EndSection
@Section['Content']
<div class="container">
<div class="row justify-content-center">
@Partial['PartialView/side_menu.html']
<div class="col p-3">
@Section['Inner_content'];
</div>
</div>
</div>
@EndSection
manage.html
@Master['account/overview.html']
@Section['Sub_Additional_headers']
<script src="../../../Content/scripts/file-upload.js"></script>
@EndSection