the - lista desplegable c#
La operación no es válida debido al estado actual del objeto. cuando selecciono la lista desplegable (3)
Sé que ya se ha aceptado una respuesta para este problema, pero alguien preguntó en los comentarios si había una solución que se pudiera hacer fuera del web.config. Tuve un ListView produciendo exactamente el mismo error y establecer EnableViewState en falso resolvió este problema para mí.
Esta pregunta ya tiene una respuesta aquí:
Tengo cuadros radcombo en la página aspx y cuando selecciono cualquier opción a partir de entonces da error `Servidor Error en ''/'' Aplicación.
La operación no es válida debido al estado actual del objeto. Descripción: se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.
Detalles de la excepción: System.InvalidOperationException: la operación no es válida debido al estado actual del objeto.
Error de fuente:
Se generó una excepción no controlada durante la ejecución de la solicitud web actual. La información sobre el origen y la ubicación de la excepción se puede identificar utilizando el seguimiento de pila de excepción a continuación.
Stack Trace:
[InvalidOperationException: la operación no es válida debido al estado actual del objeto.]
System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded () +2692302 System.Web.HttpValueCollection.FillFromEncodedBytes (Byte [] bytes, Codificación de codificación) +61
System.Web.HttpRequest.FillInFormCollection () +148[HttpException (0x80004005): los datos del formulario codificado en URL no son válidos.] System.Web.HttpRequest.FillInFormCollection () +206
System.Web.HttpRequest.get_Form () +68
System.Web.HttpRequest.get_HasForm () +8735447
System.Web.UI.Page.GetCollectionBasedOnMethod (Boolean dontReturnNull) +97 System.Web.UI.Page.DeterminePostBackMode () +63 System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +133
Información de versión: Microsoft .NET Framework Version: 2.0.50727.3634; Versión ASP.NET: 2.0.50727.3634 `
Esto puede suceder si llamas
.SingleOrDefault()
en un IEnumerable con 2 o más elementos.
El problema ocurre porque la actualización de seguridad de Microsoft MS11-100 limita el número de claves en la recopilación de formularios durante la solicitud HTTP POST. Para aliviar este problema, necesitas aumentar ese número.
Esto se puede hacer en su aplicación Web.Config en la sección
<appSettings>
(cree la sección directamente en<configuration>
si no existe). Agregue 2 líneas similares a las líneas a continuación a la sección:
<add key="aspnet:MaxHttpCollectionKeys" value="2000" /> <add key="aspnet:MaxJsonDeserializerMembers" value="2000" />
El ejemplo anterior establece el límite para 2000 teclas. Esto levantará la limitación y el error desaparecerá.