Recientemente he comenzado a migrar un proyecto de ASP.NET desde .NET versión 1.1 a 4.0. Este sistema actualmente se ejecuta en el sitio del cliente y funciona. Cuando migro la solución a través del asistente VS, no obtengo ningún error. El error es que no hay eventos de control del servidor y viewstate siempre está vacío.Migración de ASP.NET 1.1 a 4.0: eventos que no funcionan
He intentado establecer explícitamente ViewStateMode
en habilitado y AutoEventWireup
en true.Por desgracia, nada funciona. El proyecto no está escrito como una Aplicación Web (la conversión no resuelve el problema).
También compruebo si todos los controles del servidor tienen ID configurados (lo hacen).
El proyecto tiene su propio sistema de página maestra y hay una capa gruesa en System.Web.UI.Page que podría romper muchas cosas, pero hasta ahora no he podido encontrar la fuente de problemas.
¿Hay alguna configuración particular que deba verificar (es decir, los valores predeterminados modificados desde .NET 1.1) o me puede dar algunos consejos sobre por qué podría suceder esto?
EDIT 1: Estos son los valores que llegan a ser destinadas al hacer clic en un LinkButton:
CRC = -2134936892 & _ EventTarget = mpage% 24BC% 24TestButton & _EVENTARGUMENT = & _ VIEWSTATE = & _EVENTVALIDATION =% 2FwEWAwL% 2BraDpAgLB49K8A wKy8rFAt4Axk3NlUEWxrtY% 2FRtaexH% 2F634CkJe6G9Im5EOPXtVw% 3D
EDIT 2: He examinado el mecanismo de la página maestra personalizada de cerca y me encontré con que hace un amplio uso de Server.Transfer(...)
método antes de saltar a la página correcta. ¿Es esta una posible causa del ViewState faltante? (Entonces sería extraño que EventTarget siempre se mantenga) Y lo más importante, ¿podría haber habido algún cambio entre 1.1 y 4.0?
¿ViewState está realmente vacío o simplemente no lo obtiene en el servidor? Es decir. ¿se representa en la página? ¿Puede mostrarnos el registro de Fiddler de lo publicado en el servidor una vez que realiza una acción? –
He agregado la información a mi pregunta original. –
¿Se agregó TestButton a la página dinámicamente? ¿Introdujiste UpdatePanel en un proyecto actualizado? Si ha presentado UpdatePanel en un nuevo proyecto, este puede ser el problema. También es bastante extraño que ViewState esté vacío en el lado del cliente. Al menos debería ser renderizado. –