asp.net Server.Transfer()异常

use*_*312 1 asp.net

为什么我在执行Server.Transfer()时遇到异常...

Server.Transfer(@"~/Student/StudentSendMail.aspx?username=" + username);

{Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.}
Run Code Online (Sandbox Code Playgroud)

DOK*_*DOK 5

这个奇怪的错误消息的一个原因是在try-catch块内执行Server.Transfer.有几种方法可以解决这个问题:

1)将第二个参数设置为false,如下所示:

Server.Transfer(@"~/Student/StudentSendMail.aspx?username=" + username, false);
Run Code Online (Sandbox Code Playgroud)

2)捕获类型的异常System.Threading.ThreadAbortException并在catch块中不执行任何操作,因此忽略异常

3)将Server.Transfer移动到Finally