【问题标题】:Remove home directory from the URL with ASP.NET MVC使用 ASP.NET MVC 从 URL 中删除主目录
【发布时间】:2019-04-10 14:00:59
【问题描述】:

情况

我将构建我的网址,如下所示:

  1. /HomeController)上的概述页面。
  2. /details/123 上的详细信息页面而不是 /home/details/123 知道 123 始终是一个数字(HomeController)。
  3. /info 上的信息页面,而不是 /home/infoHomeController)。
  4. /account/signinAccountController)上的登录页面。

我的应用程序上没有更多页面。

试试 1

我创建了两条路线,如下所示:

routes.MapRoute(
    name: "Home",
    url: "{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

问题是帐户页面给出了 404。其他页面正常。

试试 2

我创建了一条如下所示的路线:

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

HomeController 内的每个方法上添加了具有正确URL 的Route 属性。

现在的问题是概述和登录页面可以正常工作,而其他页面现在给出了 404。

问题

如何使用 ASP.NET MVC 从 URL 中删除主目录?

【问题讨论】:

    标签: asp.net-mvc routing


    【解决方案1】:

    要使用属性路由,你需要添加

    routes.MapMvcAttributeRoutes();

    到您的 RouteConfig.cs 文件。

    它应该在您的默认路线之前。

    【讨论】:

      猜你喜欢
      • 2021-11-12
      • 2013-05-28
      • 2013-09-11
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多