在ASP.NET MVC 中獲取當前URL、controller、action

1、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; this

string attrvalues = Request.RequestContext.RouteData.Values["attrvalues"] != null ? Request.RequestContext.RouteData.Values["attrvalues"].ToString() : "0";

【6】獲取 端口:
Request.Url.Port 

2、當前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"]url

 

原文 get

相關文章
相關標籤/搜索