MVC 2 - Сокращение URL / Маршрутизация (Маршрут Карты) - PullRequest
2 голосов
/ 29 января 2011

У меня есть URL: http://localhost:XXXX/Details/569

Я хочу сократить его до: http://localhost:XXXX/569

В настоящее время у меня есть:

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

Итак, какие изменения делаютЯ делаю в своих маршрутах, чтобы при вводе целочисленного значения он переходил к моей функции Details в HomeController:

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

EDIT: перехват ошибок

ТакжеКак я могу поймать за любую ошибку, которая происходит в приложении?Вместо отображения дампа ошибок я хотел бы показать «красивое» сообщение, которое говорит: «Ой! Что-то сломалось!».

1 Ответ

3 голосов
/ 29 января 2011

Добавьте этот маршрут до маршрута по умолчанию. Он убедится, что URL-адреса, содержащие только цифры, вызывают действие Details HomeController.

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