2008-09-22 11 views
16

Deshabilito generalmente viewstate para mis controles ASP.net a menos que explícitamente sepa que voy a requerir el estado de vista para ellos. Descubrí que esto puede reducir significativamente el tamaño de página del HTML generado.Cuándo habilitar/deshabilitar Viewstate

¿Es esta una buena práctica? ¿Cuándo debería habilitarse o deshabilitarse?

Respuesta

19

Sí, es una muy buena idea. Uno podría argumentar que debería haber sido desactivado por defecto por Microsoft, al igual que el almacenamiento en caché.

Para ver qué tan malo es Viewstate en términos de tamaño aumentado, puede utilizar una herramienta llamada Viewstate Analyzer. Esto es particularmente útil cuando tiene una aplicación existente desarrollada con Viewstate habilitado.

Otra buena razón para deshabilitar Viewstate es que es realmente difícil de desactivar en una etapa posterior, cuando tienes muchos componentes que dependen de él.

5

Creo que es una buena práctica. Muchos desarrolladores de ASP.NET desconocen que sus viewstates añaden un enorme bagaje al HTML que se envía a los navegadores de sus usuarios.

4

Es una buena práctica. A menos que use los valores de ViewState en las devoluciones de datos, o los requiera algún control complejo en sí mismo, es buena idea guardar en ViewState como parte de lo que se enviará al cliente.

0

_Viewstate puede aumentar innecesariamente la cantidad de bytes que se deben transferir. Por lo tanto, a menos que los datos se utilicen la próxima vez, es una buena idea apagarlos.

4

Puede encontrar la información contenida en "ASP.NET State Management Recommendations" article en MSDN útil para tomar su decisión.

general en ASP.NET 2.0 y por encima de la desactivación de la ViewState es menos destructivo debido a la introducción del Estado de Control para almacenar informaton requerida para eventos de recaudación etc.

2

Sin duda una buena idea, nada peor que una página la cual ¡un desarrollador está vinculando un dataGrid en Page_Load cada vez pero también presentando el viewstate!

También es una muy buena idea si está planeando utilizar el UpdatePanel de las Extensiones AJAX, significa que está enviando menos durante la solicitud de UpdatePanel.

(No llame para decir que un UpdatePanel puede ser bueno: P)