日期:2014-05-17  浏览次数:20594 次

Server.Transfer执行子请求出错
我在public void ProcessRequest(HttpContext Context)函数里面写了:

C# code

String RealPath = @"~/FirstPage.aspx";
Context.Server.Transfer(RealPath);



虚拟目录下我有建立FirstPage.aspx的。

执行结果提示:System.Web.HttpException (0x80004005): 为 /WebSite/FirstPage.aspx 执行子请求时出错。 在 System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) 在 System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm) 在 System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm) 在 UrlRewriter.ProcessRequest(HttpContext Context) 位置 e:\C#Practice\WebSite\App_Code\UrlRewriter.cs:行号 34(也就是这句Context.Server.Transfer(RealPath);)

请问现在如何解决“执行子请求出错”的问题?使之能够跳转到FirstPage.aspx。

------解决方案--------------------
if(!Context.Request.RawUrl.Contails(FirstPage.aspx)){
String RealPath = @"~/FirstPage.aspx";
Context.Server.Transfer(RealPath);
}
这样试试