vista variable valido usar sesion net example estado como aspnet asp c# asp.net

c# - variable - viewstate aspnet



¿Cómo obtener el valor de ViewState codificado y construido? (3)

Necesito tomar 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 la página se está procesando, no en PostBack. por ejemplo, necesito saber el valor de ViewState que se envía al cliente, no el ViewState que estoy obteniendo de ellos.



Vea esta publicación de blog donde el autor describe un método para anular el comportamiento predeterminado para generar el ViewState y en su lugar muestra cómo guardarlo en el objeto de sesión 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. Por defecto, HiddenFieldPageStatePersister se usa para guardar / cargar información de ViewState, pero podemos hacer que SessionPageStatePersister funcione fácilmente y guardar ViewState en el objeto Session.

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


Permití la compresión siguiendo artículos similares a los publicados anteriormente. La clave para acceder al ViewState antes de que la aplicación lo envíe fue 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.