2009-03-02 11 views
5

Estamos a punto de comenzar la reconstrucción de uno de nuestros proyectos ASP.NET y me gustaría intentar desarrollarlo sin viereste activado (deshabilitado en web.config).Ejecutar ASP.NET sin viewstate activado

que sé sobre las ventajas y desventajas de estado de vista y en general lo que no pierde de vista en comparación con el control del estado, sin embargo, me gustaría saber:

  1. ¿Cuáles son las principales diferencias del proceso de desarrollo? Es decir, ¿de qué manera diferente estructuras tu Page_Load, etc.?

  2. ¿Hay alguna funcionalidad en los controles ASP.NET estándar que realmente no funcione sin ViewState activado?

Además, ¿hay algún artículo detallado sobre las diferencias de flujo de trabajo entre trabajar con y sin VS?

Respuesta

2

La mayoría de los controles como TextBoxes y DropDownLists funcionarán perfectamente bien sin viewstate.

No conozco ningún problema del proceso de desarrollo, aparte de cualquier control o propiedad creado o modificado a través del código, no persistirá sin el estado de visualización, por lo que tendría que volver a crear/modificarlos en una devolución de datos.

Tengo algunas páginas muy grandes con grandes viewstates. Hice un experimento para deshabilitar viewstate para todo el proyecto, y encontré (al principio) ninguna pérdida perceptible de funcionalidad. Luego surgieron algunos pequeños problemas en las pruebas, por lo que lo restablecimos. Pero nuestra aplicación web de 300 páginas probablemente fue funcional al 99% sin viewstate. Los problemas que teníamos se centraban en las cuadrículas de datos, principalmente las páginas, y los controles creados dinámicamente y otras cosas modificadas por el código subyacente, y por lo tanto no persistían sin el estado de vista.

Este es un muy buen artículo sobre Viewstate:

http://msdn.microsoft.com/en-us/library/ms972976.aspx

2

Deshabilito viewstate en mis proyectos. Uso los métodos scatter/gather para poblar y obtener valores de las páginas aspx desde y hacia mis objetos de acceso a datos. Es mucho más limpio y simple que usar viewstate.

+0

Gracias ocdecio, ¿qué es lo que entendemos por dispersión/agrupación métodos? ¿Utiliza el resto del modelo de página/evento ASP.NET? –

+0

Sí, uso el modelo de evento de página normal. Gather = recopilar valores de los elementos de la página en mis objetos; scatter = rellena elementos de página con valores de mis objetos. –

3

Si está en contra de ViewState, ¿por qué no prueba usar el framework MVC? Puede ser un ajuste más fácil.

+0

Esa fue definitivamente una opción, pero desafortunadamente una que nos pasó por alto en ese momento. Si tuviéramos que comenzar de nuevo hoy, entonces MVC definitivamente sería el camino a seguir. –

Cuestiones relacionadas