HiddenFieldPageStatePersister, classe
Assembly : System.Web (dans system.web.dll)
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>
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.