2009-08-09 77 views
1

爲什麼我收到異常當執行Server.Transfer的()......下面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.} 
+0

我沒有任何想法發生了什麼。但有時候,刪除try catch塊將是一個解決方案。覈實。 – 2009-08-09 18:40:42

+0

當我從頁面上的Ajax框架添加控件時發生這種情況。 – 2009-08-09 18:47:08

回答

5

原因之一這個奇怪的錯誤信息是在一個try-catch塊內執行一個Server.Transfer。有一對夫婦的方式來處理:在catch塊

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

2)抓住System.Threading.ThreadAbortException類型的例外,什麼也不做這樣的:

1)添加第二個參數設置爲false這樣異常被忽略

3)移動的Server.Transfer到Finally

+1

錯誤的參數沒有關係。它保存形式。你與response.reirect布爾混淆 – 2012-09-10 09:48:11