Как разрешить дополнительный текст после моих URL-адресов в ASP.NET MVC? - PullRequest
1 голос
/ 20 февраля 2010

У меня есть единственный маршрут в моем приложении:

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

Это прекрасно работает для таких URL, как:

/ Ли / Индекс
/ Ли / Создать
/ Бла / Детали / 5

Я хочу добавить текст к последнему, как это делает SO:

/ Л / Деталь / 5 / Page-Титульную Вот-Ор-Безотносительно

Итак, мой вопрос:

Как должны выглядеть мои маршруты для достижения этой цели? (или если это не имеет никакого отношения к маршрутам ... что мне делать?)

1 Ответ

2 голосов
/ 20 февраля 2010

MSDN Link: http://msdn.microsoft.com/en-us/library/cc668201.aspx

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

Функция подписи должна быть похожа на

    public ActionResult MyAction(int? id, string rest)
    {
        this.TempData["ID"] = id ?? -1000;
        this.TempData["REST"] = rest ?? "Not Provided";
        return View();
    }
...