【发布时间】:2021-02-12 10:59:45
【问题描述】:
我有一个 Razor Pages 布局页面,其中包含一个导航栏作为部分页面
<html>
...
<body>
...
<partial name="_Nav" />
在我的 _Nav.cshtml 中
<div class="links">
<a href="#link1">link 1</a>
<a href="#link2">link 2</a>
<!-- custom links that are set by each page go here-->
</div>
网站中的每个页面都使用此布局。我希望能够包含与网站中每个页面相关的“额外”链接。
我尝试使用 @RenderSection,但似乎只允许在 Layout 页面中使用这些部分。这是否意味着我需要取消我的 _Nav 部分并将所有代码集中到一个文件中?或者有没有办法保持有组织的代码结构并仍然传递一些代码?有了 jinja2 代码块,这没问题,所以我希望在 Razor Pages 中也有一个不错的方法!
另外,我真的不想将完整的 html 字符串从 c# 类传递到 html,我已经在链接中传递了我需要的任何变量。
感谢您的帮助!
【问题讨论】:
-
由于部分视图中不允许使用
sections,如果您在需要添加链接的每个页面上的特定键下添加指向ViewData的链接,然后将其传递给您的以ViewDataDictionary作为参数的局部视图。 -
谢谢,这是个好主意,我试过了,但无法让剃须刀页面访问 html 作为 viewdata 键的值。你有例子吗?谢谢!
标签: c# .net asp.net-core razor-pages