首页 新闻 会员 周边 捐助

.Net4.0中的路由映射问题

0
悬赏园豆:80 [待解决问题]

在经过路由配置映射之后如何在页面中获得当前请求的实际的地址或者实际的物理地址.

主要想实现网站某个文件下的访问权限。 通过HttpContext.Current.Request都无法获得实际的地址

问题补充:

感谢大家的回答  目前问题还没有得到解决  我已经转换了个思路来解决这个需求了

be good  1的主页 be good 1 | 初学一级 | 园豆:124
提问于:2014-07-07 17:01
< >
分享
所有回答(5)
0

不经过路由配置映射,你如何通过 HttpContext.Current.Request 获得实际地址的?

Launcher | 园豆:45050 (高人七级) | 2014-07-07 17:12
0

楼主,我其实对你很愤怒

[秦时明月] | 园豆:738 (小虾三级) | 2014-07-07 17:15
0

不懂``这不是逻辑混乱了`请求的是路由映射后的地址吧.

你要获取的实际地址是说的文件路径吗?

吴瑞祥 | 园豆:29449 (高人七级) | 2014-07-07 17:47
0

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

 

 

【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

happycat1988 | 园豆:363 (菜鸟二级) | 2014-07-08 00:29
0

 通过HttpContext.Current.Request都无法获得实际的地址,

HttpContext.Current.Request ,楼主这个你是百度的吧,这个本来就不能获取到Url地址,

楼上的回复很全面了,应该能解决你的问题了吧!

晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-07-08 13:58

Request.Url.AbsolutePath  路径

Request.Url.AbsoluteUri    Url

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-07-10 16:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册