Server.Transfer("~\\Error Pages\\404.aspx");
因为〜返回带有反斜杠的路径
或者:
Server.Transfer("~/Error Pages/404.aspx");
Seen进一步使用并适合docs(“ URL路径”)
我尝试过,它们都可以工作。
那我为什么要问?
因为如果您不按照正确的的方式进行操作,它可能会立即运行,但可能会在某些时候失败,因此调试起来会非常困难。
答案 0 :(得分:1)
答案 1 :(得分:1)
两者均可,但首选使用/
,因为\
在内部被/
取代。
来自.NET参考源:
HttpServerUtility.Transfer
调用其Execute
方法,该方法使用
VirtualPath virtualPath = VirtualPath.Create(path);
此VirtualPath.Create
调用UrlPath.FixVirtualPathSlashes(virtualPath)
,将\
替换为/
。
internal static String FixVirtualPathSlashes(string virtualPath)
{
// Make sure we don't have any back slashes
virtualPath = virtualPath.Replace('\\', '/');
...
}