如何从asp.net mvc视图中获取当前路径(url)?
如果没有办法在视图中获取它,如何在控制器中获取它以便将其传递给视图?
我不想要网址的协议和主机部分。
答案 0 :(得分:6)
这将为您返回视图中的网址:
'<%=Url.RouteUrl(ViewContext.RouteData.Values)%>
答案 1 :(得分:4)
这取决于你需要什么样的路径,因为有很多选择:
// 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 :(得分:2)
这是一种方式:
<%= Url.RequestContext.HttpContext.Request.CurrentExecutionFilePath %>
或
@Url.RequestContext.HttpContext.Request.CurrentExecutionFilePath
如果您使用Razor。
答案 3 :(得分:1)
尝试:
<%= Request.Url.AbsolutePath.ToString() %>