我得到了一个错误:
无法计算表达式,因为代码已优化或本机框架位于调用堆栈的顶部。
我在repeater的itemcommand事件中重定向到了一个新页面。错误发生在以下行:
string url = "~/Galleries/AlbumImageList.aspx?UId=" + this.UserId.ToString() + "&AlbumId=" + e.CommandArgument.ToString();
Response.Redirect(url);
有谁能帮帮我吗?有什么问题吗?_COMPlusExceptionCode
是-532459699
。
发布于 2010-01-11 19:50:20
将Response
的第二个参数设为false,如下所示。
Response.Redirect(url,false);
发布于 2010-10-01 19:39:52
Request.Redirect(url,false);
false
指示当前页面的执行是否应该终止。
发布于 2013-08-07 21:15:39
分辨率
要解决此问题,请使用以下方法之一:
对于
Response.Redirect ("nextpage.aspx", false);
如果使用此解决方法,Response.Redirect后面的代码是executed.症状
如果使用Response.End、Response.Redirect或Server.Transfer方法,则会发生ThreadAbortException异常。您可以使用try-catch语句来捕获此异常。
原因
Response.End方法结束页面执行,并将执行转移到应用程序的事件管道中的Application_EndRequest事件。不执行Response.End后面的代码行。
此问题出现在Response.Redirect和Server.Transfer方法中,因为这两个方法都在内部调用Response.End。
状态
此行为是故意设计的。
属性
文章ID: 312629 -上次审查:2012年8月30日-修订版: 4.0
适用于的
2.0
关键字: kbprb异常处理kbprb KB312629
来源: PRB: ThreadAbortException Occurs If You Use Response.End, Response.Redirect, or Server.Transfer
https://stackoverflow.com/questions/2041482
复制相似问题