页面重定向Redirect时产生错误

一、错误描述:
在调试工作流结束后重定向到新的页面时,执行下面代码,
SPUtility.Redirect(taskList.DefaultViewUrl, SPRedirectFlags.UseSource, HttpContext.Current);
产生了以下错误,这个错误在Response.Redirect方法使用时,也会产生。
错误信息:Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.

二、错误原因:
在重定向时,Request的请求的响应没有执行完全,就相当于执行了一半被终止了。

三、解决方案:
1、使用HttpContext.Current.ApplicationInstance.CompleteRequest 代替Response.End。
2、使用Response.Redirect ("nextpage.aspx", false);
3、使用Server.Execute代替Server.Transfer
4、在Try里执行有可能也会出现这个错误,这个在执行SPUtility.Redirect时出现了,把这个方法执行放到Catch后面就OK了。

posted on 2011-07-12 18:07  欣静赏悦  阅读(514)  评论(0编辑  收藏  举报