ASP.NET实现MVC中获取当前URL、controller及action的方法

作者:袖梨 2022-06-25

URL的获取很简单,ASP.NET通用:

【1】获取 完整url

(协议名+域名+虚拟目录名+文件名+参数)

 代码如下复制代码
stringurl=Request.Url.ToString();

【2】获取 虚拟目录名+页面名+参数:

 代码如下复制代码
stringurl=Request.RawUrl;

 代码如下复制代码
stringurl=Request.Url.PathAndQuery;

【3】获取

虚拟目录名+页面名:

 代码如下复制代码
stringurl=HttpContext.Current.Request.Url.AbsolutePath;

或:

 代码如下复制代码
stringurl= HttpContext.Current.Request.Path;

【4】获取 域名:

 代码如下复制代码
stringurl=HttpContext.Current.Request.Url.Host;

【5】获取 参数:

 代码如下复制代码
stringurl= 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"]

相关文章

精彩推荐