MVC3 Routing - Как я могу получить URL, когда внутри контроллера - PullRequest
4 голосов
/ 24 марта 2011

Может кто-нибудь сказать мне, как я могу получить URL, который использовался для вызова моего маршрута, когда я нахожусь в контроллере?Это кажется простым, но я не могу найти ссылку на то, как это сделать.Если вам нужен пример, я могу объяснить больше .. Ранее я задавал вопрос о маршруте, и кто-то сказал мне, как я могу проверить, какой маршрут встречался.На этот раз мои потребности немного отличаются.

Спасибо,

Мэнди

Ответы [ 4 ]

6 голосов
/ 24 марта 2011

Используйте свойство Url объекта Request .

public ActionResult MyAction()
{
    var url = Request.Url;

    /// .....

    return View();    
}

, которое вернет объект Uri со всем необходимым .

Возможно, вас также заинтересует свойство контроллера RouteData , которое предоставляет более подробную информацию о проанализированном маршруте.

6 голосов
/ 24 марта 2011

Поскольку у вас есть ссылка на свойство Request контроллера, вы можете просто сделать:

var url = Request.Url.ToString();
1 голос
/ 28 марта 2011

Я бы использовал свойство RouteData.Values ​​вместо свойства Request.В сценарии модульного тестирования свойство Request, вероятно, будет нулевым.

0 голосов
/ 24 марта 2011

Вы можете использовать отладчик маршрутизации, чтобы увидеть, какой URL соответствует вашему контроллеру / действиям

больше информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...