【发布时间】:2020-11-20 17:46:48
【问题描述】:
我的 _Layout.cshtml 文件中有一个带有以下标记的 Razor Pages 应用程序。
<li class="nav-item dropdown">
<a class="nav-link text-dark dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Reports
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" asp-area="Reports" asp-page="/Invoice/Index">Invoices</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" asp-area="Reports" asp-page="/ProfitabilityByCustomer/Index">Profitability by Customer</a>
<a class="dropdown-item" asp-area="Reports" asp-page="/ProfitabilityByLocation/Index">Profitability by Location</a>
<a class="dropdown-item" asp-area="Reports" asp-page="/CostAudit/Index">Cost Audit</a>
<a class="dropdown-item" asp-area="Reports" asp-page="/ChangeLogs/Index">Change Logs</a>
</div>
</li>
注意最后一个链接(到 /ChangeLogs/Index)。此页面有一个页面路由 (@page "{id?}")。
当我手动导航到 /Reports/ChangeLogs/61 时,上面的标记呈现为:
<li class="nav-item dropdown">
<a class="nav-link text-dark dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Reports
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="/Reports/Invoice">Invoices</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="/Reports/ProfitabilityByCustomer">Profitability by Customer</a>
<a class="dropdown-item" href="/Reports/ProfitabilityByLocation">Profitability by Location</a>
<a class="dropdown-item" href="/Reports/CostAudit">Cost Audit</a>
<a class="dropdown-item" href="/Reports/ChangeLogs/61">Change Logs</a>
</div>
</li>
不知何故,当前页面是 /Reports/ChangeLogs/61,导致菜单中的链接以该路由值呈现!
我无法解释。我需要阻止它发生。
【问题讨论】:
标签: c# asp.net asp.net-core .net-core razor-pages