J'obtiens l'erreur:
Impossible d'évaluer l'expression car le code est optimisé ou un cadre natif se trouve au-dessus de la pile d'appels.
J'ai redirigé vers une nouvelle page dans l'événement itemcommand du répéteur. L'erreur se produit à la ligne:
string url = "~/Galleries/AlbumImageList.aspx?UId=" + this.UserId.ToString() + "&AlbumId=" + e.CommandArgument.ToString();
Response.Redirect(url);
Quelqu'un peut-il m'aider s'il vous plaît? Quelque chose ne va pas? Le _COMPlusExceptionCode
est - 532459699
.
Faites le deuxième argument de
Response
false comme indiqué ci-dessous.la source
Résolution
Symptômes
Cause
Statut
Propriétés
Source: PRB: ThreadAbortException se produit si vous utilisez Response.End, Response.Redirect ou Server.Transfer
la source
Dans un bogue que j'étudiais, il y avait un Response.Redirect () et il s'exécutait dans un emplacement inattendu ( lire: emplacement inapproprié - dans une méthode getter de propriété de membre ).
Si vous déboguez un problème et que vous rencontrez l' exception " Impossible d'évaluer l'expression ... ":
Response.Redirect()
et soit faire le deuxième paramètre définissez endResponse = false , ouC'était frustrant car il semblerait d'exécuter l' appel de redirection avant que le "pas à pas" du débogueur n'ait atteint cet emplacement.
la source
Veuillez consulter ce lien pour connaître la raison de ce problème et la solution de l'erreur:
http://support.microsoft.com/kb/312629/EN-US/
Article de support Microsoft:
PRB: ThreadAbortException se produit si vous utilisez Response.End, Response.Redirect ou Server.Transfer Imprimer Imprimer E-mail
la source
J'ai eu le même problème aussi, et c'était délicat. Pour moi, c'était parce que j'utilise la bibliothèque javascript Ext.Js. Si vous effectuez un response.redirect dans le code côté serveur auquel vous avez accédé lors d'un appel Ajax , il y a des problèmes. Ext.js a une solution de contournement avec leur méthode Ext.Redirect.
la source
utilisez ce code pour résoudre le problème:
la source
Vous pouvez également utiliser
Server.Execute
la source
Enveloppez simplement quelqu'un d'autre a rencontré les problèmes que j'ai rencontrés J'utilisais Response.End () un bouton de déclenchement asynchrone
dans un panneau de mise à jour. Je suis passé à la publication régulière, ce n'est pas le meilleur, mais cela a fonctionné.
Comme je ne faisais que rediriger sur la page, c'était une solution viable.
la source
Si vous utilisez le panneau de mise à jour et que le bouton de lien pour télécharger Excel se trouve dans le panneau, ajoutez un déclencheur de publication.
et dans le code derrière l'événement de clic interne
la source
Utilisez ceci, fonctionne pour moi toujours.
Ici, Response.Redirect (Request.RawUrl) redirige simplement vers l'url du contexte actuel, tandis que le deuxième paramètre "false" indique soit endResponse ou non.
la source
Ce problème peut être un résultat lorsque vous avez une page rasoir dans mvc avec un modèle qui a des règles de validation. Lorsque vous publiez à partir d'un formulaire et que vous oubliez d'afficher des erreurs de validation dans certains champs, ce message peut apparaître. Spéculation: cela pourrait se produire si la méthode sur laquelle vous publiez est différente et utilisée par d'autres sources ou réside dans un endroit différent de la méthode servant la demande d'origine.
Donc, parce que c'est différent, il ne peut pas revenir à la page d'origine pour afficher ou gérer les erreurs car l'exécution et l'état du modèle ne sont pas les mêmes (quelque chose comme ça).
Cela peut être un peu difficile à découvrir, mais une erreur facile à faire. Assurez-vous que votre méthode de réception valide réellement toutes les manières possibles d'y publier.
par exemple, même si vous avez une validation côté serveur qui rend en fait impossible d'écrire sous la forme d'une chaîne plus grande que le maximum autorisé par votre validation, il pourrait y avoir d'autres moyens et sources qui publient dans la méthode de réception.
la source