Asp.net core 如何正确生成指向不包含';t随路线参数变化
我对razor页面还不熟悉,显然肯定是遗漏了什么,但就我的一生而言,我不知道如何生成指向razor页面的链接,该链接不会神奇地改变,并且包含可选的路由参数——如果我在该页面上的话 我认为这个问题源于相关链接位于导航菜单中,导航菜单始终在页面上,即使我在相关页面上 具体来说,我的页面是/Customer/Invoices。我在菜单中有一个链接,我尝试通过asp页面标记助手、Url.page等生成该链接。当我在应用程序中的任何位置,甚至在相关页面上时,只要我没有任何路由参数,该链接都能完美工作。如果我使用route参数访问页面,那么菜单链接也神奇地拥有它 总而言之,如果我浏览到…/Customer/Invoices,即使我在页面上,链接也可以。 如果我浏览到…/Customer/Invoices/123-菜单中的链接突然在末尾也有123 route参数 我只想要没有可选路由参数的静态页面url——不管我是否在有路由参数的页面上。我肯定错过了什么Asp.net core 如何正确生成指向不包含';t随路线参数变化,asp.net-core,razor-pages,Asp.net Core,Razor Pages,我对razor页面还不熟悉,显然肯定是遗漏了什么,但就我的一生而言,我不知道如何生成指向razor页面的链接,该链接不会神奇地改变,并且包含可选的路由参数——如果我在该页面上的话 我认为这个问题源于相关链接位于导航菜单中,导航菜单始终在页面上,即使我在相关页面上 具体来说,我的页面是/Customer/Invoices。我在菜单中有一个链接,我尝试通过asp页面标记助手、Url.page等生成该链接。当我在应用程序中的任何位置,甚至在相关页面上时,只要我没有任何路由参数,该链接都能完美工作。如果
任何帮助都将不胜感激。首先,.net core标记帮助程序将生成带有路由参数的url,这是经过设计的。如果您想删除路由参数,这里有两个解决方案 1.在
2.使用href替换
结果:
@page "{id?}"
<a asp-page="Test" asp-route-id="1">link1</a>
<a asp-page="Test" asp-route-id="">link2</a>
@page "{id?}"
<a asp-page="Test" asp-route-id="1">link1</a>
<a href="/Test1/Test">link2</a>