通过路由缩短网址?

时间:2015-09-30 15:58:57

标签: c# html asp.net-mvc razor model-view-controller

可以缩短mvc路由中的网址吗?

eg:
    routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new { controller = "Public", action = "Index", id = UrlParameter.Optional } // Parameter defaults
       );

所以URL将是......字段/字段

是否可以缩短/删除结束字段。所以只有...... Field

是否与全局

中的RegisterRoutes有关
{{1}}

2 个答案:

答案 0 :(得分:2)

是。在控制器路由上方添加新的显式路由。

routes.MapRoute("FieldRoute", "field", new { controller = "FieldController", action = "Field" });

答案 1 :(得分:0)

似乎是以下问题的重复:Set default action (instead of index) for controller in ASP.NET MVC 3

基于以下代码应该适合您:

routes.MapRoute(
    "Field",
    "Field/{action}",
    new { controller = "Field", action = "Field" }
);

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new {controller = "Home", action = "Index", id = UrlParameter.Optional} // Parameter defaults
);