c# - Razor Pages 链接基于当前页面错误呈现
问题描述
我的_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的事实导致菜单中的链接使用此路由值呈现!
我无法解释这一点。我需要阻止它发生。
解决方案
如果没有指定,路由将从当前页面继承值。所以指定一个空白值;
<a class="dropdown-item" asp-area="Reports" asp-page="/ChangeLogs/Index" asp-route-id="">Change Logs</a>
推荐阅读
- ios - 将自定义对象添加到 Firestore 中的数组
- python - 如何将电子邮件附加到另一封电子邮件,最终结果是 python 3 中的顶级邮件内容类型消息/rfc822?
- batch-file - 使用标题元数据作为输出文件名 ffmpeg
- python - 带有递归 XInclude 语句的 XML
- spring-integration - 使用 Spring Integration 读取文件并希望使用过滤器进行排序和文件提取
- mysql - MySQL在选择时只得到一行重复的结果
- python - 创建空间相关噪声的更快方法?
- android - 如何在 Flutter 应用中正确设置 redirect_uri?
- ios - 如果 Chromecast 是内置电视,则无法检测到它
- python - django - 休息框架响应内容协商没有发生