Получить URL-адрес страницы из разметки в Razor Pages - PullRequest
1 голос
/ 30 мая 2020

В MVC, я думаю, мы использовали @Html.Url(), чтобы получить URL-адрес страницы из разметки. В Razor Pages это больше не доступно.

Razor Pages имеет несколько отличных помощников по тегам, которые помогают создавать ссылки на страницы. Но что, если вам нужен URL-адрес страницы, например, из JavaScript? Есть ли в Razor Pages инструменты для получения строки URL-адреса?

1 Ответ

1 голос
/ 30 мая 2020

Это принесет текущий URL-адрес страницы:

@Url.RouteUrl(ViewContext.RouteData.Values);

[ОБНОВЛЕНИЕ]

Вышеупомянутая реализация вернет текущий URL-адрес страницы без QueryString значений, например /Users/Index

Чтобы включить QueryString значения после ?, используйте следующую реализацию:

@{
    var routeUrl = Url.RouteUrl(ViewContext.RouteData.Values);
    var qsPath = ViewContext.HttpContext.Request.QueryString.Value;
    var returnUrl = $"{routeUrl}{qsPath}";
}

Конечный результат будет включать значения маршрута и строки запроса:

// returnUrl = "/Users/Index?p=1&s=5"
...