2009-08-09 10 views
1

Pourquoi suis-je recevoir l'exception Lors de l'exécution Server.Transfer() ...asp.net Server.Transfer() exception

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

Je n'ai aucune idée ce qui est arrivé. Mais parfois, supprimer try catch block serait une solution. vérifie ça. –

+0

Cela se produit lorsque j'ajoute un contrôle à partir d'un framework Ajax sur la page. –

Répondre

5

Une cause de ce message d'erreur étrange effectue un Server.Transfer à l'intérieur d'un bloc try-catch. Il y a deux façons de gérer que:

1) Ajouter un second argument défini sur false comme ceci:

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

2) Intercepter l'exception du type System.Threading.ThreadAbortException et ne rien faire dans le bloc catch de sorte que le exception est ignorée

3) Déplacez le Server.Transfer au Finally bloc

+1

le faux paramètre n'est pas lié. Il existe pour préserver la forme. vous êtes confondu avec response.reirect boolean –