En cuanto al uso del control Gridview en la misma página, se observa que el servidor no puede responder al evento de actualización, parece que su alarma de error y luego consulta cierta información, y ahora la solución se resume de la siguiente manera: Haz clic en el evento de actualización no puede responder porque el parámetro de postback o callback es inválido. La validación de eventos está habilitada en la configuración con <pages enableEventValidation="true"/> o <%@ Page EnableEventValidation="true" %> en las páginas. Por motivos de seguridad, esta función verifica que los parámetros de los eventos de postback o callback se originan en el control del servidor que los generó originalmente. Si los datos son válidos y esperados, utiliza el Clientscrip para eliminar el método tManager.RegisterForEventValidation para registrar un postback o un callback para validación.
Descripción: Durante la ejecución de la solicitud web actual se produjo una excepción no gestionada. Consulta la información del rastreo de pila para obtener detalles sobre el error y de dónde proviene en tu código que causó el error.
Detalles de la excepción: System.ArgumentException: Parámetros de retroceso o callback inválidos. La validación de eventos está habilitada en la configuración con < páginas enableEventValidation="true"/> o <% @ Page EnableEventValidation="true" %> en las páginas. Por motivos de seguridad, esta función verifica que los parámetros del evento de retorno o llamada de regreso se originen en el control del servidor que los generó originalmente. Si los datos son válidos y esperados, utiliza el Clientscrip para eliminar el método tManager.RegisterForEventValidation para registrar un postback o un callback para validación. Después de mirarlo durante mucho tiempo, no encontré ningún problema, y era correcto revisar el código de nuevo, y comprobé los IDs y atributos de todos los controles en la página y seguía sin encontrar el problema. Más tarde, supe que esto fue lo que ocurrió: Condiciones de ocurrencia: 1. Hay controles ocultos en la pantalla. 2. Múltiples vinculaciones Gridview. 3. Anidado en múltiples formas. Causas de la ocurrencia: . .NET genera un campo oculto __EVENTVALIDATION en la página final basado en los elementos de salida de la página. Se hizo una prueba sencilla. Crea un <asp: button id="btnSubmit" runat="server" text="Submit" tooltip="Submit" /> y crea el gestor de eventos Click correspondiente. Ejecuta el programa y responde correctamente al evento. Luego se pone btnSubmit.Visable=false y añade manualmente <input type="submit" name="btnSubmit" value="Submit" /> en la página. Ejecuta el programa y aparecerá una excepción con el contenido de EnableEventValidation. Establece <@Page EnableEventValidation="false" > ejecuta el programa de nuevo para responder correctamente al evento. Observando el contenido de los dos __EVENTVALIDATION antes y después, se puede descubrir que son diferentes. Respecto a la excepción que ocurre, puede considerarse que btnSubmit no está incluido en la salida, pero cuando se envía en segundo plano, hay contenido correspondiente, que es inconsistente, así que en el caso de la verificación de eventos está habilitada. .NET hace una excepción.
Solución 1: Page_Load(emisor de objetos, EventArgs e)
{ si (! Página.EsPostVuelta) { vincular datos; }
} Solución 2: <páginas enableEventValidation="false"/> 1. Añadir EnableEventValidation="false" al lenguaje de la página <%@ de la página="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Hereda ="_Default" %> de la página. (Primero que nada)
2. Revisa web.config <system.web> <páginas enableEventValidation="false"/>
3. Es anidamiento de formularios, una página solo puede tener un formulario, que puede resolverse revisando cuidadosamente el código.
4. Si la página contiene controles como DropDownList o ListBox, puede deberse a las siguientes razones:
4.1 El uso de ajax en el menú desplegable es común en el menú de vinculación provincial y municipal, lo que puede deberse a que el valor inicial del elemento del menú desplegable se asigna a la página aspx, el error se activa al publicar el evento, se elimina el valor inicial del menú desplegable y el elemento se añade al evento vinculado. 4.2 La razón es que la propiedad Value del ListItem del control DropDownList contiene caracteres chinos. Solo cambia el valor a inglés o a un número. Es mejor añadir la siguiente afirmación en web.config: <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN" uiCulture="zh-CN"/> Dado que POSTBACK no está codificado en UTF-8, la eliminación de t por JAVAscrip se considerará problemática. Solo cambia requestEncoding="utf-8" a él, pero responseEncoding="utf-8" no
5. Regístrate para la validación de eventos El principio es dejar que asp.net registren este valor de postback. RegisterForEventValidation debe llamarse en render.
|