asp.net mvc 3 url маршрутизация с названием новости - PullRequest
1 голос
/ 01 ноября 2011

У меня есть новостной сайт. Я обычно использую параметр для отображения новостей или категории новостей в браузере. Например:

http://mysite.com/News/Details/5

Новости это контроллер - Подробности это действие - 5 - это идентификатор новостей

Теперь я хочу добавить название этой новости в URL. Например:

http://mysite.com/News/Details/5/name-of-news/ или же http://mysite.com/News/name-of-news/

для пейджинга, я также использую параметр http://mysite.com/News?page=2

теперь я хочу, чтобы мой URL отображался как следующий URL http://mysite.com/News/Page1

Как я могу это сделать? Заранее спасибо.

1 Ответ

2 голосов
/ 01 ноября 2011

Добавить новость в список параметров, которые принимает ваше действие

        ActionResult Details(string id,string newsName){
        }
        //add a routing map 
         routes.MapRoute(
            "NewsDetailsIdName",                                             
            "{News}/{Details}/{id}/{newsName}",                           
            new { controller = "News", action = "Details"}  
         );

      or 
       //If news name is unique
       ActionResult Details(string newsName){
       }
      //Add a routing map
       routes.MapRoute(
            "NewsDetailsName",                                             
            "{News}/{Details}/{newsName}",                           
            new { controller = "News", action = "Details"}  
       );

Для разбивки на страницы добавьте карту маршрутизации в ваши новости. Индексное действие

        ActionResult Index(string page){
        }
        //Add a route
        routes.MapRoute(
            "NewsPage",                                             
            "{News}/{page}",                           
            new { controller = "News", action = "Index"}  
        );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...