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


 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"]

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"] 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM