MVC 2 - URL缩短/路由(地图路由)

时间:2011-01-29 19:14:45

标签: c# asp.net-mvc-2 asp.net-mvc-routing url-shortener

我有一个网址:http://localhost:XXXX/Details/569

我想将其缩短为:http://localhost:XXXX/569

目前我有:

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

那么我在路由中做了哪些更改,以便在输入整数值时,它会转到HomeController中的Details函数:

public ActionResult Details(int recordID)
{
    /** Code Here **/
    return View();
}

编辑:捕获错误

另外,如何捕获应用程序中发生的任何错误?而不是显示错误转储,我想显示一条“好消息”,上面写着“哎呀!有事情!”。

1 个答案:

答案 0 :(得分:3)

在默认路线之前添加此路线。它将确保仅包含数字的URL调用HomeController的Details操作。

routes.MapRoute(
    "RecordDetails",
    "xxxx/{RecordID}",
    new { controller = "Home", action = "Details", RecordID=0 },
    new { RecordID = @"\d+" });