2

我正在 VS 2008 中开发 C#/SQL ASP.NET Web 应用程序。目前我正在使用 Server.Transfer 方法将控制从一个 ASPX.CS 文件转移到另一个 ASPX 文件。第一次通过,这有效。但是在控制权转移到这个新文件之后,它遇到了一个条件:

if (restart == false)
            {

其中“重启”是一个布尔变量。在此语句之后,它立即将控制权转移回同一个 ASPX.CS 文件并尝试重新执行 Server.Transfer 方法。这次它给了我以下异常和堆栈跟踪。你知道是什么原因造成的吗?我试着读这个,但对我来说没有多大意义。

System.Web.HttpException 未被用户代码处理 消息="执行 DataMatch.aspx 的子请求时出错。" Source="System.Web" ErrorCode=-2147467259 StackTrace: 在 System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm) 在 System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm) 在 System.Web C:\Documents and Settings\Admin\My Documents\Visual Studio 2008\Projects\AddFileToSQL\AddFileToSQL\Default.aspx.cs 中 AddFileToSQL._Default.btnAppend_Click(Object sender, EventArgs e) 处的 .HttpServerUtility.Transfer(String path): System.Web.UI.HtmlControls.HtmlInputButton.RaisePostBackEvent(String eventArgument) 的 System.Web.UI.HtmlControls 的 System.Web.UI.HtmlControls.HtmlInputButton.OnServerClick(EventArgs e) 的第 109 行。

4

1 回答 1

3

我建议您尝试Response.Redirect("New page URL")一下,因为您在使用 Server.transfer 时遇到了问题。Response.Redirect 似乎是一种更改页面的“更干净”的方式。请参阅http://www.developer.com/net/asp/article.php/3299641/ServerTransfer-Vs-ResponseRedirect.htm进行比较。

于 2010-04-15T18:30:43.747 回答