Recibo el error:
No se puede evaluar la expresión porque el código está optimizado o un marco nativo está en la parte superior de la pila de llamadas.
He redirigido a una nueva página en el evento itemcommand del repetidor. El error ocurre en la línea:
string url = "~/Galleries/AlbumImageList.aspx?UId=" + this.UserId.ToString() + "&AlbumId=" + e.CommandArgument.ToString();
Response.Redirect(url);
¿Alguien puede ayudarme? ¿Hay algo mal allí? El _COMPlusExceptionCode
es - 532459699
.
Haga un segundo argumento
Response
falso como se muestra a continuación.fuente
Resolución
Síntomas
Porque
Estado
Propiedades
Fuente: PRB: ThreadAbortException se produce si utiliza Response.End, Response.Redirect o Server.Transfer
fuente
En un error que estaba investigando, había un Response.Redirect () y se estaba ejecutando en una ubicación inesperada ( léase: ubicación inapropiada - dentro de un método de obtención de propiedades miembro ).
Si está depurando un problema y experimenta la excepción " No se puede evaluar la expresión ... ":
Response.Redirect()
y realice el segundo parámetro endResponse = false , oEsto fue frustrante, ya que parecería ejecutar la llamada de redireccionamiento antes de que el "paso" en el depurador haya llegado a esa ubicación.
fuente
Consulte este enlace para conocer el motivo de este problema y la solución del error:
http://support.microsoft.com/kb/312629/EN-US/
Artículo de soporte de Microsoft:
PRB: ThreadAbortException se produce si utiliza Response.End, Response.Redirect o Server.Transfer Imprimir Imprimir Correo electrónico Correo electrónico
fuente
También tuve este mismo problema, y fue complicado. Para mí, fue porque estoy usando la biblioteca JavaScript Ext.Js. Si está haciendo un response.redirect en el código del lado del servidor al que accedió en una llamada Ajax , hay problemas. Ext.js tiene una solución alternativa con su método Ext.Redirect.
fuente
usa este código para resolver el problema:
fuente
También puedes usar
Server.Execute
fuente
Simplemente encubrir a alguien más se topó con los problemas que hice cuando estaba usando Response.End () un botón de disparo asíncrono
en un panel de actualización. Cambié a la publicación regular de nuevo, no es la mejor, pero funcionó.
Como solo estaba redirigiendo en la página, esta era una solución viable.
fuente
Si está utilizando el Panel de actualización y el botón de enlace para descargar Excel está dentro del panel, entonces agregue el disparador de devolución de datos
y en el código detrás del evento de clic interno
fuente
Usa esto, siempre funciona para mí.
Aquí, Response.Redirect (Request.RawUrl) simplemente redirige a la url del contexto actual, mientras que el segundo parámetro "falso" indica endResponse o no.
fuente
Este problema puede ser el resultado cuando tiene una página de afeitar en mvc con un modelo que tiene algunas reglas de validación. Cuando publica desde un formulario y olvida mostrar errores de validación en algún campo, entonces puede aparecer este mensaje. Especulación: esto podría ser si el método en el que está publicando es diferente y es utilizado por otras fuentes o reside en un lugar diferente al método que atiende la solicitud original.
Entonces, debido a que es diferente, no puede volver a la página original para mostrar o manejar los errores porque la ejecución y el estado del modelo no son los mismos (algo así).
Puede ser un poco difícil de descubrir, pero es un error fácil de hacer. Asegúrese de que su método de recepción realmente valide todas las formas posibles de publicar en él.
por ejemplo, incluso si tiene una validación en el servidor que realmente hace que sea imposible escribir en el formulario una cadena que sea más grande que el máximo permitido por su validación, podría haber otras formas y fuentes que publiquen en el método de recepción.
fuente