Отображение URL: не нужно вводить индекс в URL - PullRequest
1 голос
/ 03 февраля 2012

У меня есть следующая карта URL в Global.asax.cs:

 routes.MapRoute("RejectRevision", "{controller}/{Index}/{revisionId}"
        , new { controller = "RejectRevision", action = "Index", revisionId = "" });

Но я не хочу набирать http://localhost:9999/RejectRevision/Index/1, Я хочу иметь возможность набирать http://localhost:9999/RejectRevision/1, чтобы выполнить действие Index на контроллере RejectRevision. Что мне здесь не хватает?

спасибо.

1 Ответ

1 голос
/ 03 февраля 2012

Поставьте это перед вашим Default маршрутом:

routes.MapRoute(
    "RejectRevision",
    "{controller}/{revisionId}",
    new { 
        controller = "RejectRevision", 
        action = "Index", 
        revisionId = UrlParameter.Optional }
);

Если это будет помещено перед вашим Default маршрутом, запрос /RejectRevision/1 будет соответствовать RejectRevisionController.Index() методу действия.

Или, если это единственный метод Controller / Action, который вы хотите отобразить следующим образом, вы можете использовать литерал вместо параметра для маршрута:

routes.MapRoute( 
    "RejectRevision", 
    "RejectRevision/{revisionId}", 
    new {  
        controller = "RejectRevision",  
        action = "Index",  
        revisionId = UrlParameter.Optional } 
); 
...