Comment réduire la taille viewstate d'une page dans asp.net? S'il vous plaît aider.Comment réduire la taille viewstate d'une page dans asp.net?
Répondre
Vous avez plusieurs options pour réduire le ViewState:
- Désactiver ViewState pour les contrôles qui ne ont pas besoin (ce qui est la solution la plus efficace). Par exemple. Si vous pouvez mettre en cache des données sur le serveur, vous pouvez relier les contrôles de base de données à chaque requête et il n'est pas nécessaire de tout sauvegarder dans ViewState.
- Activez la compression HTTP sur le serveur (IIS). Cela réduit la taille de la page envoyée au client, y compris ViewState.
- Compressez le ViewState. Cela présente un avantage supplémentaire par rapport à la compression HTTP: il réduit également la taille de PostBacks (données renvoyées au serveur), puisque ViewState est toujours renvoyé au serveur pendant un PostBack. Il existe différentes approches pour cela, par ex. comme indiqué dans this blog post.
- Stockez ViewState sur le serveur au lieu de l'envoyer dans un champ masqué avec la page. La façon la plus simple de le faire est d'utiliser le SesionPageStatePersister, mais il existe d'autres solutions qui stockent ViewState sur le disque au lieu d'utiliser la session (see here for example).
Vous ne pouvez pas réduire la taille de ViewState. C'est ASP.NET qui sérialise/désérialise. Bien que vous puissiez sélectivement désactiver ViewState pour les contrôles qui n'en ont pas besoin.
Vous pouvez le compresser et l'enregistrer dans votre propre champ de formulaire –
Vous pouvez activer la compression sur le serveur pour réduire au minimum la taille des données transférées via le réseau ou enregistrer viewState sur le disque et ne jamais l'envoyer au client.
La plupart des points sont mis en évidence dans les autres réponses. En voici un qui peut être utile:
Réduisez le nombre de contrôles serveur (par exemple, contrôles Web/html), en particulier ceux dont vous n'avez pas besoin. Utilisez des annotations HTML simples à la place.
J'ai vu trop de cas de contrôles Web Table/Row/Cell redondants où < table normale>, < tr> et < td> fera.
J'ai choisi d'enregistrer l'état d'affichage sur le serveur dans une base de données elle-même et de ne pas permettre qu'il soit transmis dans le code HTML au client, ce qui gonfle la taille de la page. Vous pouvez étendre le HiddenFieldPageStatePersister et contourner cela. J'ai écrit un article détaillé autour si vous le souhaitez ...
lien mort lien mort – Ash
protected override PageStatePersister PageStatePersister
{
get
{
return new SessionPageStatePersister(this);
}
}
ajouter le code ci-dessus dans le code sous-jacent de la page qui génère de grandes valeurs de viewstate. Cela permet de stocker le viewstate dans la session. Seule une clé pour viewstate devrait être ajoutée maintenant.
- 1. Réduire ViewState avec TreeView
- 2. Réduire le format de la page
- 3. Comment réduire javax.faces.ViewState dans JSF
- 4. Outils pour réduire la taille HTML générée
- 5. Réduire la taille du fichier SWF
- 6. ASP.NET Masterpages et viewstate
- 7. asp.net viewstate encryption
- 8. Grande valeur ViewState dans ASP.NET
- 9. Comment réduire la taille d'un repo sur Github
- 10. Quand activer/désactiver Viewstate
- 11. ASP.NET obtenir viewstate dans global.asax
- 12. Extension Firefox pour la taille totale de la page?
- 13. ASP.Net 1.1 Viewstate Security
- 14. Est-ce que la classe Page ajoute ViewState pour les contrôles créés dans CreateChildControls dans ASP.NET
- 15. réduire la taille de la trame de sélénium
- 16. Objet ViewState perdu dans la page principale Charger
- 17. viewstate MAC a échoué dans asp.net 2.0 tout en postback la page
- 18. Réduire une ArrayList à une nouvelle taille
- 19. Asp.Net ViewState perdu avec RegisterClientScriptBlock
- 20. Créer une vignette et réduire la taille de l'image
- 21. ViewState est-il pertinent dans ASP.NET MVC?
- 22. asp.net côté serveur viewstate sans sessions
- 23. Blackberry réduire la taille de la police pour entrer dans la rangée fieldfield
- 24. ASP.NET: Échec de la validation de viewstate MAC
- 25. navigation dans la page asp.net
- 26. ASP.Net Assistant Contrôle, DataBinding, ViewState et PostBacks
- 27. Comment fonctionne la page ASP.NET?
- 28. Comment connaître la taille des rappels dans ASP.NET AJAX?
- 29. Comment forcer un conteneur Silverlight à développer/réduire la taille de ses contrôles enfants?
- 30. Viewstate dans les fichiers plats vs viewstate dans SQLserver
Bonnes idées à essayer !!! – Lijo
bonne réponse! merci! Mais même si stocker côté serveur viewstate ou en le compressant pourrait être de bonnes méthodes, à mon avis le moyen le plus simple de réduire sa taille sera encore de désactiver les contrôles qui ne nécessitent pas l'état viewState – Shide