web-dev-qa-db-fra.com

Comment désactiver ViewState pour une page .aspx?

J'ai besoin de désactiver complètement ViewState pour une page .aspx dans mon application Web. J'ai parcouru différents blogs et ce que je comprends, c'est que nous devons définir <%@ Page EnableViewState="false" ...%>, mais ça ne fonctionne pas.

Est-ce suffisant pour désactiver ViewState pour tous les contrôles à l'intérieur de la page? Ou dois-je apporter des modifications supplémentaires? Si oui, veuillez les préciser. Je ne veux pas que ViewState soit activé pour un seul contrôle à l'intérieur de la page .aspx

16
Mridul Raj

Je pense que les citations devraient être:

EnableViewState="false"

En dehors de cela, si vous voyez toujours les champs masqués, ils sont utilisés par ASP.Net. Vous pouvez voir:

propriété Page.EnableViewState

Même si EnableViewState est faux, la page peut contenir un champ d'état d'affichage caché utilisé par ASP.NET pour détecter une publication.

12
Habib

Désactiver l'état d'affichage

  1. Niveau machine - Désactiver l'état d'affichage au niveau machine dans machine.config , désactivera ViewState de toutes les applications sur le serveur Web .
<Machine.config>
   <system.web>
      <pages enableViewState="false" />
   </system.web>
</Machine.config>
  1. Niveau d'application - Vous pouvez désactiver ViewState pour toutes les pages dans /web.config fichier.
<configuration>
   <system.web>
      <pages enableViewState="false" />
   </system.web>
</configuration>
  1. Niveau de page - Désactiver l'état d'affichage pour un fichier aspx spécifique en haut.

<%@ Page Language="C#" .. EnableViewState="false" .. %>

  1. Niveau de contrôle - Vous pouvez désactiver ViewState pour un contrôle spécifique.

<asp:TextBox EnableViewState="false" ID="Name" runat="server"></asp:TextBox>

15
Johnny

Si vous n'avez vraiment pas besoin de publication, vous pouvez supprimer l'élément de formulaire de votre page, cela supprimera complètement l'état d'affichage.

3
albattran