为什么在ASP.NET中
VirtualPathUtility.IsAbsolute("/~abc")
效果很好。
但VirtualPathUtility.IsAbsolute("/~abc?n=1)
抛出异常:
System.Web.HttpException:'〜/ abc?n = 1'不是有效的虚拟路径?
更新:
我刚刚检查过.NET 3.5和.NET 4.0之间的行为存在差异。 VirtualPathUtility.IsAbsolute("/~abc?n=1)
在4.0中运行良好,但在3.5中运行不正常。你们有谁知道为什么他们改变了这个?
答案 0 :(得分:5)
由于/~abc?n=1
不是路径,因此它也包含URL的查询字符串部分(/~abc
是路径,n=1
是查询字符串)
答案 1 :(得分:0)
你要传递的是带有查询参数的url,而不是路径。使用路径。如果字符串以“/”字符开头,则Btw IsAbsolute返回true,因此您不需要使用该方法 - 只需自行检查即可。