если флажок установлен, сделайте это

Вы можете сделать это следующим образом:

var urlBuilder =
    new System.UriBuilder(Request.Url.AbsoluteUri)
        {
            Path = Url.Action("Action", "Controller"),
            Query = null,
        };

Uri uri = urlBuilder.Uri;
string url = urlBuilder.ToString();
// or urlBuilder.Uri.ToString()

Вместо Url.Action() в этом примере вы также можете использовать Url.Content() или любой метод маршрутизации или просто просто пройти путь.

Но если URL-адрес переходит к Controller Action, существует более компактный способ:

var contactUsUriString =
    Url.Action("Contact-Us", "About",
               routeValues: null /* specify if needed */,
               protocol: Request.Url.Scheme /* This is the trick */);

. Трюк здесь в том, что как только вы укажете protocol / схема при вызове любого метода маршрутизации, вы получаете абсолютный URL-адрес. Я рекомендую это, когда это возможно, но у вас также есть более общий путь в первом примере, если вам это нужно.

Я подробно рассказал об этом здесь: http: // gurustop. net / blog / 2012/03/23 / writing-absolute-urls-to-other-actions-in-asp-net-mvc /

Извлечено из Meligy's AngularJS & amp; Web Dev Goodies Newsletter

blockquote>

124
задан John Slegers 3 April 2016 в 13:54
поделиться