一、獲取URL(ASP.NET通用):
【1】獲取完整url(協議名+域名+虛擬目錄名+文件名+參數)
string url=Request.Url.ToString();
【2】獲取虛擬目錄名+頁面名+參數:
string url=Request.RawUrl;(或 string url=Request.Url.PathAndQuery;)
【3】獲取虛擬目錄名+頁面名:
string url=HttpContext.Current.Request.Url.AbsolutePath;(或 string url= HttpContext.Current.Request.Path;)
【4】獲取域名:
string url=HttpContext.Current.Request.Url.Host;
【5】獲取參數:
string url= HttpContext.Current.Request.Url.Query;
【6】獲取端口:
Request.Url.Port
二、獲取當前Controller/Action:
RouteData.Route.GetRouteData(this.HttpContext).Values["controller"] RouteData.Route.GetRouteData(this.HttpContext).Values["action"] 或 RouteData.Values["controller"] RouteData.Values["action"]
在視圖中
@ViewContext.RouteData.Route.GetRouteData(this.Context).Values["controller"] @ViewContext.RouteData.Route.GetRouteData(this.Context).Values["action"] 或 @ViewContext.RouteData.Values["controller"] @ViewContext.RouteData.Values["action"]
很顯然上面只能獲取當前View的,如果是嵌套的View上面獲得的最終的子View的,如果要獲取父View的,如下
ControllerContext.ParentActionViewContext.RouteData.Values["controller"] ControllerContext.ParentActionViewContext.RouteData.Values["action"] 在視圖中 @ViewContext.ParentActionViewContext.RouteData.Values["controller"] @CViewContext.ParentActionViewContext.RouteData.Values["action"]
參考: