válido true pages page llamadas false enableeventvalidation devolución argumento .net asp.net gridview

.net - true - "Postback inválido o argumento de devolución de llamada" con controles Databound



<pages enableeventvalidation="true"/> (3)

El problema es cargar los datos para el control en la página Cargar evento y llamar al método DataBind (). Sin embargo, parece que si se llama al método DataBind () antes de que se generen los eventos, la excepción anterior se genera cuando la denominación de control ha cambiado.

La solución es cambiar esto a if (! IsPostback) DataBind () y luego llamar al método DataBind () al final del controlador de eventos. Debería llamarlo la mayor parte del tiempo al final del controlador para afectar los cambios.

Si este no es su problema, y ​​está modificando los controles del lado del cliente usando JavaScript, consulte este artículo .

Esta es una publicación auto-respondida ya que estaba recibiendo muchas respuestas en mi blog sobre este tema y pensé que podría compartirlo más.

Recibo el siguiente error cuando ocurre un evento (Agregar / Editar / Eliminar) en mi control de datos.

No válido postback o argumento de devolución de llamada. La validación de eventos se habilita mediante la configuración o <% @ Page EnableEventValidation = "true"%> en una página. Por motivos de seguridad, esta función verifica que los argumentos para la devolución de datos o los eventos de devolución de llamada se originan en el control del servidor que los generó originalmente. Si los datos son válidos y esperados, utilice el método ClientScriptManager.RegisterForEventValidation para registrar la devolución de datos o los datos de devolución de llamada para la validación.

Estoy usando un control DataList personalizado, pero este problema también ocurre con control GridView, DetailsView, FormView y Repeater (y tal vez con otros controles de datos).

Las respuestas que puedo encontrar me dicen que desactive la validación en el archivo o página de configuración, pero eso no parece ser la mejor solución. ¿Qué estoy haciendo mal?


Gracias por esto. Me enfrento a este problema y tu respuesta personal me ayudó a solucionarlo.

Una alternativa para llamar al método DataBind () al final de cada controlador de eventos, es hacerlo una vez en el evento PreRender de la página.


Estaba experimentando el mismo problema y me tomó algunas horas resolver mi problema. La respuesta de Robert me ayudó en parte y, a pesar de que mi repetidor estaba conectado a mi repetidor, independientemente de si el mensaje estaba publicado o no, el problema persistía. Después de mucha investigación encontré una publicación que sugería establecer UseSubmitBehavior = "false" , bingo y resolvió el problema. Espero que esto ayude.