Ce sujet n'a pas encore été évalué - Évaluez ce sujet

HiddenFieldPageStatePersister, classe

Remarque : cette classe est nouvelle dans le .NET Framework version 2.0.

Stocke l'état d'affichage de la page ASP.NET sur le client Web dans un élément HTML masqué.

Espace de noms : System.Web.UI
Assembly : System.Web (dans system.web.dll)

public class HiddenFieldPageStatePersister : PageStatePersister
public class HiddenFieldPageStatePersister extends PageStatePersister
public class HiddenFieldPageStatePersister extends PageStatePersister

Les pages ASP.NET peuvent stocker un état Page entre la demande HTTP fondamentalement sans état et la réponse de traitement et de prise en charge d'une page Web. Cet état est appelé "état d'affichage." Le mécanisme par défaut utilisé pour stocker l'état d'affichage d'une page et ses contrôles se trouve dans un ou plusieurs champs HTML <hidden> inclus dans la page des champs HTML inclus dans la page fournie à un client à partir d'un serveur Web. La classe Page peut utiliser la classe HiddenFieldPageStatePersister pour ce faire. HiddenFieldPageStatePersister implémente les méthodes Save et Load de la classe PageStatePersister afin que le Page puisse stocker l'état dans un élément HTML <hidden> nommé "__VIEWSTATE" sur un client Web. Lorsque le client demande la même page du serveur Web (une publication), l'élément <hidden> est analysé et converti en informations d'état par ASP.NET.

Si l'instance Page qui est demandée a une classe PageAdapter associée, elle récupère l'objet PageStatePersister de cet adaptateur à l'aide de la méthode GetStatePersister. Les adaptateurs peuvent remplacer la méthode GetStatePersister pour retourner un objet PageStatePersister qui stocke l'état de la page et du contrôle de manière à être pris en charge par un client spécifique. Par exemple, la classe SessionPageStatePersister stocke l'état de la page et du contrôle sur le serveur Web, au lieu du client, pour réduire la quantité d'informations devant être envoyées et stockées sur un client qui a une capacité mémoire et une bande passante limitées.

La taille maximale de l'élément HTML "_VIEWSTATE" <hidden> peut être définie à travers la propriété MaxPageStateFieldLength ou le paramètre de configuration MaxPageStateFieldLength. Si cette valeur est définie et que la longueur de l'élément de "_VIEWSTATE" dépasse la longueur maximale, le contenu est divisé en plusieurs éléments "_VIEWSTATE."

L'exemple de code suivant montre comment lier un contrôle ListBox aux données dans une base de données avec un contrôle SqlDataSource.

<%@ Page language="CS" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<HTML>
  <BODY>
    <FORM runat="server">
      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          DataSourceMode="DataReader"
          ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
          SelectCommand="SELECT LastName FROM Employees">
      </asp:SqlDataSource>

      <asp:ListBox
          id="ListBox1"
          runat="server"
          DataTextField="LastName"
          DataSourceID="SqlDataSource1">
      </asp:ListBox>

    </FORM>
  </BODY>
</HTML>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<HTML>
  <BODY>
    <FORM runat="server">
      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          DataSourceMode="DataReader"
          ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;"
          SelectCommand="SELECT LastName FROM Employees">
      </asp:SqlDataSource>

      <asp:ListBox
          id="ListBox1"
          runat="server"
          DataTextField="LastName"
          DataSourceID="SqlDataSource1">
      </asp:ListBox>

    </FORM>
  </BODY>
</HTML>

Lorsque la page d'exemple est affichée, un état d'affichage est stocké par la classe HiddenFieldPageStatePersister dans un élément HTML <hidden> nommé "__VIEWSTATE."

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
  <BODY>
    <form name="_ctl0" method="post" action="sample.aspx" id="_ctl0">
        
      <input type="hidden" name="__VIEWSTATE" value="MgAwADkANgAwADkAOQA3ADgAMQD/AQ8QBQoxMTU2NDc1NjE0EGRkFgICAQ9kFgICAw8PZBAVDQVhc2RhcwhCdWNoYW5hbghDYWxsYWhhbgdEYXZvbGlvCURvZHN3b3J0aAZGdWxsZXIES2luZwhLcmF3YXJpawlMZXZlcmxpbmcETWFyeQdQZWFjb2NrBlN1eWFtYQx0ZXN0IHJlZnJlc2gVDQVhc2RhcwhCdWNoYW5hbghDYWxsYWhhbgdEYXZvbGlvCURvZHN3b3J0aAZGdWxsZXIES2luZwhLcmF3YXJpawlMZXZlcmxpbmcETWFyeQdQZWFjb2NrBlN1eWFtYQx0ZXN0IHJlZnJlc2gUKgMNZ2dnZ2dnZ2dnZ2dnZ2RkZPdhi6U7jBPqVZbj0W8AYFSJ6oiq" />

      <select size="4" name="ListBox1" id="ListBox1">    
        <option value="Buchanan">Buchanan</option>
        <option value="Callahan">Callahan</option>
        <option value="Davolio">Davolio</option>
        <option value="Dodsworth">Dodsworth</option>
        <option value="Fuller">Fuller</option>
        <option value="King">King</option>
        <option value="Leverling">Leverling</option>
        <option value="Suyama">Suyama</option>
      </select>

    </form>
  </BODY>
</HTML>
System.Object
   System.Web.UI.PageStatePersister
    System.Web.UI.HiddenFieldPageStatePersister
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.