Asp.net core mvc 通过斜杠(/)传递参数更改导航栏菜单项html链接也在ASP.NET核心MVC中

Asp.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

当我在斜杠后传递参数,例如URL
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>

通过添加空路线数据,例如
配置文件
,这对我有效。