【问题标题】:Remove controller 'Home' from URL in MVC 5从 MVC 5 中的 URL 中删除控制器“主页”
【发布时间】:2015-12-28 15:17:46
【问题描述】:

我需要从我的项目的 URL 中删除控制器“主页”,现在它看起来像这样:example.com/Home/contact,我希望它看起来像这样:example.com/contact(也适用于其他部分如服务、我们的团队、画廊等)

我尝试删除出现在 RouteConfig.cs 代码中“{action}/{id}”之前的“{controller}”,如下所示:

namespace myproject
{
public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

控制器“主页”从 URL 中消失,但以下登录和管理链接不起作用:

@Html.ActionLink("Login here", "Login", "Account")
@Html.ActionLink("Manage website", "Index", "Manage")

如果不在 URL 中显示控制器“主页”,如何使这些链接正常工作?

【问题讨论】:

标签: controller asp.net-mvc-5 url-routing


【解决方案1】:

您需要将以下内容添加到您的 RouteConfig.cs

    routes.MapRoute(
        name: "contact",
        url: "contact",
        defaults: new { controller = "Home", action = "Contact" }
    );

确保“默认”路由映射是最后一个。

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 2020-01-07
    • 1970-01-01
    • 2017-02-01
    相关资源
    最近更新 更多