我对剃须刀页面很陌生,显然我缺少了一些东西,但对于我的生活,我不知道如何生成一个链接到剃须刀页面,这个链接不会神奇地改变,并且包含可选的路由参数--如果我在那个页面上。
我认为这个问题来源于这个链接,这个链接总是在页面上的导航菜单上,即使我在页面上也是如此。
具体来说,假设我的页面是/客户/发票。我在菜单中有一个链接,我已经尝试通过asp页面标签助手、Url.Page等来生成它。当我在应用程序中的任何地方,甚至在这个页面上,只要我没有任何路由参数,它就能很好地工作。如果我使用一个路由参数访问页面,那么该菜单链接也会神奇地拥有它。
回顾一下,如果我浏览到./客户/发票-即使我在页面上,链接也很好。如果我浏览到./Customer/发票/ 123 --菜单中的链接突然也有了123路由参数。
我只想要静态页面url没有可选的路由参数-不管我是否在这个页面上使用一个路由参数。我一定是错过了什么..。
任何帮助都将不胜感激。
发布于 2021-03-16 08:07:37
首先,.net核心标签助手会生成带有路由参数的url,是通过design.If来删除路由的,parameters.Here是两种解决方案。
1.在<a> tag.Here中设置空路由参数是一个演示:
页(Test 1/Test):
@page "{id?}"
<a asp-page="Test" asp-route-id="1">link1</a>
<a asp-page="Test" asp-route-id="">link2</a>结果:

2.使用href替换<a>标记:
页(Test 1/Test):
@page "{id?}"
<a asp-page="Test" asp-route-id="1">link1</a>
<a href="/Test1/Test">link2</a>结果:

https://stackoverflow.com/questions/66649562
复制相似问题