我已经看到有关从虚拟到绝对和 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);
关于asp.net - 如何在不手动解析字符串的情况下将 url 转换为 asp.net 中的虚拟路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/493580/