在Custom属性中获取Page URL的最佳方法是什么

时间:2015-01-21 10:57:03

标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor

在我的自定义操作过滤器中,我将如何获取页面URL。

例如,如果我的网址是:

mysite.com/Myfolder/MyArea/MyController/MyAction

我想要一个返回的函数:

/MyArea/MyController/MyAction

Myfolder 是我的网站托管的虚拟目录。

1 个答案:

答案 0 :(得分:2)

试试这个:

string relativeAppUrl = VirtualPathUtility.ToAppRelative(filterContext.HttpContext.Request.Url.AbsolutePath);

如果您需要删除前导~(代字号):

string relativeAppUrl = VirtualPathUtility.ToAppRelative(filterContext.HttpContext.Request.Url.AbsolutePath).Trim('~');

请参阅MSDN