2009-03-02 8 views
5

Nous sommes sur le point de commencer la reconstruction de l'un de nos projets ASP.NET et je souhaite essayer de le développer sans que le paramètre viestate ne soit activé (désactivé dans web.config).Exécution d'ASP.NET sans viewstate activée

Je sais que sur les aspects positifs et négatifs de viewstate et d'une manière générale ce qu'il garde la trace de par rapport à contrôler l'état, mais je voudrais savoir:

  1. Quelles sont les différences de processus de développement principe? Autrement dit, quelle est la structure de votre Page_Load?

  2. Existe-t-il des fonctionnalités dans les contrôles ASP.NET standard qui ne fonctionneront tout simplement pas sans viewstate activé?

De plus, y a-t-il des articles détaillés sur les différences de workflow entre travailler avec et sans VS?

Répondre

2

La plupart des contrôles comme TextBoxes et DropDownLists fonctionneront parfaitement bien sans viewstate. Je ne connais pas de problèmes de processus de développement, autres que les contrôles ou les propriétés créées ou modifiées par le biais du code ne persisteront pas sans viewstate, vous devrez donc les recréer/les modifier lors d'une publication.

J'ai quelques très grandes pages avec de grandes vues. J'ai fait une expérience pour désactiver viewstate pour l'ensemble du projet, et trouvé (au début) aucune perte de fonctionnalité notable. Ensuite, quelques petites questions ont été soulevées lors des essais, alors nous l'avons rétabli. Mais notre application web de 300 pages était probablement à 99% fonctionnelle sans viewstate. Les problèmes que nous avions ont été centrés autour de datagrids - la pagination principalement, et les contrôles créés dynamiquement et d'autres choses modifiées par le code, et donc pas persisté sans viewstate.

Ceci est un très bon article sur Viewstate:

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

2

Je désactive viewstate sur mes projets. J'utilise des méthodes scatter/gather pour peupler et obtenir des valeurs des pages aspx vers/depuis mes objets d'accès aux données. C'est beaucoup plus propre et plus simple que d'utiliser viewstate.

+0

Merci ocdecio, qu'est-ce que vous entendez par scatter/gather méthodes? Utilisez-vous le reste du modèle de page/événement ASP.NET? –

+0

Oui, j'utilise le modèle d'événement de page normal. Rassembler = collecter les valeurs des éléments de la page dans mes objets; scatter = remplir les éléments de la page avec les valeurs de mes objets. –

3

Si vous êtes contre viewstate, pourquoi ne pas essayer le framework MVC? Cela peut être un ajustement plus facile.

+0

C'était vraiment une option, mais malheureusement celle qui nous a dépassé à l'époque. Si nous devions recommencer aujourd'hui, alors MVC serait définitivement la solution. –

Questions connexes