Pregunta

Necesito obtener la representación codificada en base64 de ViewState.Obviamente, esto no estaría disponible hasta bastante tarde en el ciclo de vida de la solicitud, lo cual está bien.

Por ejemplo, si el resultado de la página incluye:

<input type="hidden" name="__VIEWSTATE" 
  id="__VIEWSTATE" value="/wEPDwUJODU0Njc5MD...==" />

Necesito una forma en el lado del servidor para obtener el valor. "/wEPDwUJODU0Njc5MD...=="

Para aclarar, necesito este valor cuando se procesa la página, no en PostBack.p.ej.Necesito saber el valor de ViewState que se está enviado al cliente, no al ViewState que recibo de ellos.

¿Fue útil?

Solución

Rex, sospecho que un buen lugar para empezar a buscar son soluciones que comprimir el estado de vista - están tomando ViewState en el servidor antes de enviarlo al cliente y comprimiéndolo.Ahí es exactamente donde quieres estar.

Otros consejos

Mira esto entrada en el blog donde el autor describe un método para anular el comportamiento predeterminado para generar ViewState y en su lugar muestra cómo guardarlo en el objeto Session del servidor.

En ASP.NET 2.0, ViewState es guardado por un descendiente de la clase PAGESTATEPERSISTER.Esta clase es una clase abstracta para guardar y cargar ViewsState y hay dos descendientes implementados de esta clase en .NET Framework, llamado HiddenfieldPageStatePersister y SessionPageStatePersister.De forma predeterminada, HiddenFieldPageStatePersister se utiliza para guardar/cargar la información de ViewState, pero podemos hacer que el SessionPageStatePersister funcione y guardar ViewState en el objeto Session.

Aunque no probé su código, parece mostrar exactamente lo que quieres:una forma de obtener acceso al código ViewState mientras aún está en el servidor, antes de la devolución.

Habilité la compresión siguiendo artículos similares a los publicados anteriormente.La clave para acceder a ViewState antes de que la aplicación lo envíe era anular este método;

protected override void SavePageStateToPersistenceMedium(object viewState)

Puede llamar al método base dentro de esta anulación y luego agregar cualquier lógica adicional que necesite para manejar ViewState.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top