Asp.net core mvc 通过斜杠(/)传递参数更改导航栏菜单项html链接也在ASP.NET核心MVC中
当我在斜杠后传递参数,例如URLAsp.net core mvc 通过斜杠(/)传递参数更改导航栏菜单项html链接也在ASP.NET核心MVC中,asp.net-core-mvc,Asp.net Core Mvc,当我在斜杠后传递参数,例如URLResume/Index/1323142424123时,它会更改导航栏菜单项URL,这意味着将该参数也添加到导航栏URL中,但当我传递参数,例如Resume/Index?id=13231424123时,它不会更改导航栏链接 我的HTML标记是 <a asp-area="JobSeeker" asp-action="Index" asp-controller="Resume">Profile&l
Resume/Index/1323142424123
时,它会更改导航栏菜单项URL,这意味着将该参数也添加到导航栏URL中,但当我传递参数,例如Resume/Index?id=13231424123
时,它不会更改导航栏链接
我的HTML标记是
<a asp-area="JobSeeker" asp-action="Index" asp-controller="Resume">Profile</a>
据我所知,asp.net核心标记帮助程序将在herf中呈现url的路由参数。这是故意的
如果您不想避免添加route参数,我建议您可以添加
空路由数据
例如:
如果您的路线如下所示:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=home}/{action=index}/{id?}");
});
<a asp-action="Link" asp-controller="Home" asp-route-id="">Profile</a>
id是路由参数。然后,您应该使用标记帮助器,如下所示:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=home}/{action=index}/{id?}");
});
<a asp-action="Link" asp-controller="Home" asp-route-id="">Profile</a>
通过添加空路线数据,例如配置文件
,这对我有效。