2011-03-03 85 views
5

Estoy usando un cuadro de texto asp.net dentro del panel de actualización ajax. Si entro & # en el cuadro de texto y pulse el botón Guardar, da un error de JavaScript"Sys.WebForms.PageRequestManagerServerErrorException: código de estado: 500"

Sys.WebForms.PageRequestManagerServerErrorException: Se ha producido un error desconocido al procesar la solicitud en el servidor. El código de estado devuelto por el servidor fue: 500

Ayúdenme por qué aparece este error?

enter image description here

+0

duplicado posible de [Sys.WebForms.PageRequestManagerServerErrorException : Se produjo un error desconocido al procesar la solicitud en el servidor. "] (Http://stackoverflow.com/questions/7881470/sys-webforms-pagerequestmanagerservererrorexception-an-unknown-error-occurred-w) –

Respuesta

-1

Este problema a veces se produce cuando tiene un control registrado como AsyncPostbackTrigger en varios paneles de actualización.

Si ese no es el problema, trate de añadir el siguiente justo después de la declaración gestor de script:

<script type="text/javascript" language="javascript"> 
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
    function EndRequestHandler(sender, args){ 
     if (args.get_error() != undefined){ 
      args.set_errorHandled(true); 
     } 
    } 
</script> 

Hay algunas soluciones más discutidas aquí: http://forums.asp.net/t/1066976.aspx/9/10

+0

¿Hay alguna forma de hacer que esto funcione usando el mismo control de usuario para diferentes paneles de actualización? – Jeff

+4

Acaba de copiar esta respuesta: http://stackoverflow.com/a/7881543/1017882 Si ha reconocido esta pregunta como un duplicado, márquela como corresponda. -1. –

7

Probablemente ASP.NET Request Validation se hizo presente y detectaron una solicitud potencialmente peligroso (el & # en el valor de texto). Esto provoca que se genere un HttpRequestValidationException, por lo tanto, el UpdatePanel devuelve el código HTTP 500. La forma en que lo veo hay dos formas de resolver este problema:

  1. Valide el contenido del cuadro de texto y reemplace cualquier valor potencialmente peligroso (HTML como).
  2. validación de solicitudes Desactivar:

    <%@ Page ValidateRequest="false" %>

Si decide desactivar la validación de solicitudes asegúrese de que el valor del campo respectivo no se emite textualmente en otro lugar de la aplicación. Asegúrese de estar utilizando HttpUtility.HtmlEncode al mostrarlo para evitar problemas de XSS.

Cuestiones relacionadas