Как получить текущий виртуальный путь в ASP.NET MVC? - PullRequest
4 голосов
/ 18 сентября 2009

Как получить текущий путь (URL) из представления asp.net mvc?

Если нет способа получить его в виде, как вы можете получить его в контроллере, чтобы его можно было передать в представление?

EDIT

Мне не нужен протокол и часть хоста URL.

Ответы [ 4 ]

6 голосов
/ 05 ноября 2009

Это вернет вам URL в представлении:

'<%=Url.RouteUrl(ViewContext.RouteData.Values)%>
4 голосов
/ 23 февраля 2015

Это зависит от того, какой именно путь вам нужен, потому что есть много альтернатив:

// given the url: http://mydomain/approot/my-route/?bar=baz

@Request.Url.PathAndQuery
// value: "/approot/my-route?bar=baz"
@Request.Path
@Request.CurrentExecutionFilePath
// value: "/approot/my-route"
@Request.ApplicationPath
// value: "/approot"
@Request.AppRelativeCurrentExecutionFilePath
// value: "~/my-route"
@Request.AppRelativeCurrentExecutionFilePath.Substring(2)
// value: "my-route"
2 голосов
/ 10 апреля 2011

Это один из способов:

<%= Url.RequestContext.HttpContext.Request.CurrentExecutionFilePath %>

или

@Url.RequestContext.HttpContext.Request.CurrentExecutionFilePath

если вы используете бритву.

1 голос
/ 18 сентября 2009

Попробуйте:

 <%= Request.Url.AbsolutePath.ToString() %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...