【发布时间】:2020-05-21 06:20:12
【问题描述】:
假设我有以下 Razor 文件 _Layout.cshtml。使用 ASP.NET Core 3+ 和 Razor Pages 时如何编写注释条件。
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" asp-page="/Index">Index</a>
</li>
@* If route starts with /a/, for example http://localhost/a/1.html and http://localhost/a/2/1.html *@
<li class="nav-item">
<a class="nav-link" asp-page="/a/Index">A</a>
</li>
@* If route starts with /b/, for example http://localhost/b/1.html and http://localhost/b/2/1.html *@
<li class="nav-item">
<a class="nav-link" asp-page="/b/Index">B</a>
</li>
<li class="nav-item">
<a class="nav-link" asp-page="/b/1/Index">B other</a>
</li>
</ul>
【问题讨论】:
-
不确定这是否能解决您的问题,但看起来您可以向
ViewState添加自定义值并基于此显示/隐藏元素。见stackoverflow.com/a/57040167/12730491(这里他们改变了整个布局文件,但它也应该适用于单个元素)。 -
@rm-code 这可行,但我认为有一种简单的方法可以访问 Razor 文件中的当前路由。假设不存在是否安全?
标签: asp.net-core razor razor-pages