我已经看到了关于从虚拟到绝对和url的转换的类似问题和答案,但是如何在不进行手动字符串解析的情况下将URL转换为虚拟路径?
例:
我希望" http://myserver/home.aspx "转换为:"〜/ home.aspx"
我意识到上面的例子将是一个简单的字符串解析例程,但我正在寻找一个适当的解决方案,可以扩展到url格式的更改.
您可以从Uri课程中获得大部分内容:
new Uri("http://myserver.com/home.aspx").AbsolutePath
然后你只需要前缀〜
但是,如果您在一个子目录中托管,那可能会破坏 - 我认为没有办法在您运行的应用程序的上下文中专门执行此操作.
编辑:这可能会这样做:
VirtualPathUtility.ToAppRelative(new Uri("http://myserver.com/home.aspx").AbsolutePath);