重写URl的路由

时间:2012-03-26 05:21:31

标签: asp.net-mvc asp.net-mvc-routing

我有以下URl:

http://localhost:12981/BaseEvent/EventOverview/12?type=Film

这是路线:

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

我想在浏览器中看到网址:

http://localhost:12981/Film/Overview/12

我该怎么做?

又一个例子:

http://localhost:12981/BaseEvent/EventOverview/15?type=Sport

应该是

http://localhost:12981/Sport/Overview/15

感谢。

1 个答案:

答案 0 :(得分:1)

这应该有效:

routes.MapRoute("", "{type}/Overview/{id}", new { controller = "Events", action = "Overview");

然后你有一个名为EventsController的控制器,其行为与此类似

public ViewResult Overview(string type, int id)
{
   //Your code

   return View(model);
}