Как добавить статическое значение в конец маршрута с помощью Url.Action (в ASP.NET MVC 3)? - PullRequest
0 голосов
/ 24 февраля 2011

У меня есть этот маршрут:

routes.MapRoute(null, "Users/{id}/Summary", new { controller = "Users", action = "GetSummary" });

Как мне указать это с помощью действия Url.Action?

Я сейчас использую:

string path = Url.Action("Index", "Users", new { id = user.Id } ) + "/Summary";

Isтам чище подход?

Ответы [ 2 ]

3 голосов
/ 24 февраля 2011

Почему вы используете Index, когда действие GetSummary?

string path = Url.Action("GetSummary", "Users", new { id = user.Id } );

Возможно, вы хотите дать вашему маршруту имя

routes.MapRoute("GetSummary", "Users/{id}/Summary", 
    new 
    {
        controller = "Users", 
        action = "GetSummary" 
    });
2 голосов
/ 24 февраля 2011

Разве это не работает?

 Url.Action("GetSummary", "Users", new { id = user.Id })

Механизм маршрутизации должен иметь возможность преобразовать его в правильный URL-адрес на основе ваших таблиц маршрутизации.

...