2009-08-09 7 views
1

Warum bin ich die Ausnahme immer Während die Server.Transfer Ausführung() ...asp.net Server.Transfer() Ausnahme

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

ich habe keine Ahnung, was passiert ist. Aber manchmal ist das Entfernen von try catch block eine Lösung. prüfen Sie. –

+0

Dies passiert, wenn ich ein Steuerelement aus einem Ajax-Framework auf der Seite hinzufüge. –

Antwort

5

Eine Ursache Diese seltsame Fehlermeldung führt einen Server.Transfer innerhalb eines try-catch-Blocks aus. Es gibt ein paar Möglichkeiten, das umgehen:

1) ein zweites Argument wie folgt auf false gesetzt hinzufügen:

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

2) Fangen Sie die Ausnahme vom Typ System.Threading.ThreadAbortException und nichts tun, im catch-Block, so dass die Ausnahme ist

ignoriert

3) Bewegen Sie den Server.Transfer zum Finally Block

+1

der falsche param ist nicht verwandt. Es existiert, um die Form zu bewahren. Sie sind mit response.reirect boolean verwechselt –

Verwandte Themen