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

what is the best way to get the Page URL inside Custom attribute

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

例如,如果我的 url 是:

mysite.com/Myfolder/MyArea/MyController/MyAction

我想要一个函数 returns :

/MyArea/MyController/MyAction

其中 我的文件夹 是托管我的网站的虚拟目录。

试试这个:

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

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

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

MSDN