【问题标题】:Url is changing automatically for different views in ASP.NET Core MVCUrl 会针对 ASP.NET Core MVC 中的不同视图自动更改
【发布时间】:2020-03-14 07:30:32
【问题描述】:

在我的 ASP.NET Core MVC 应用程序中,views 文件夹中有两个子文件夹 - 一个是 Home,另一个是 Menu

Home 文件夹包含Index.cshtmlMenu 文件夹包含topMenu.cshtml。当我运行应用程序时,URL 是

localhost/****/home/index

有一个侧边栏,我在其中放置了topmenu.cshtml 的链接,当我单击顶部菜单时,它打开了topMenu.cshtml 视图,并且 URL 是

localhost:*****/Menu/topMenu

问题是如果我在打开顶部菜单后尝试点击主页,主页的 URL 会更改为

localhost/****/menu/index

即使我为 Home 和 Menu 创建了单独的控制器,其中的操作结果是返回视图。我的应用程序中还有一个登录页面,所以我将默认路由设置为

{controller=Home}/{action=Login}/{id?}

【问题讨论】:

    标签: c# asp.net-core routes asp.net-core-mvc


    【解决方案1】:

    您没有分享您的topmenu.cshtml 的内容,但我猜您没有在锚标记上指定asp-controller="Home"。它应该看起来像这样:

    <a asp-controller="Home" asp-action="Index">Home</a>
    

    您可以在此处阅读有关锚标记属性的更多信息: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/built-in/anchor-tag-helper?view=aspnetcore-3.1#anchor-tag-helper-attributes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-18
      • 2010-12-31
      • 2021-06-12
      • 2021-10-06
      • 2018-02-20
      • 2021-02-07
      • 2021-09-05
      • 1970-01-01
      相关资源
      最近更新 更多