是否可以使用mvc中的另一个名称映射控制器名称

时间:2014-12-27 13:20:53

标签: asp.net-mvc model-view-controller asp.net-mvc-routing

我可以为控制器添加其他名称吗?我的意思是说我有一个控制器" Home"。现在我可以创建一个或类似的路径,以便我可以将我的url / home / index称为/ home / index或/ start / index。我想使用" start"而不是" home"但也想使用" Home"在某些地方。

1 个答案:

答案 0 :(得分:4)

您可以将此添加到您的默认路由上方的RouteConfig.cs文件中,如下所示:

routes.MapRoute(
    name: "AlternateHome",
    url: "Start/{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 }
);

您还可以使用属性路由仅影响Home Controller中的Index操作并添加2个属性路由。 http://blogs.msdn.com/b/webdev/archive/2013/10/17/attribute-routing-in-asp-net-mvc-5.aspx