PageStatePersister.StateFormatter Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient un objet IStateFormatter qui est utilisé pour sérialiser et désérialiser les informations d'état contenues dans les propriétés ViewState et ControlState lors de l'appel des méthodes Save() et Load().
protected:
property System::Web::UI::IStateFormatter ^ StateFormatter { System::Web::UI::IStateFormatter ^ get(); };
protected System.Web.UI.IStateFormatter StateFormatter { get; }
member this.StateFormatter : System.Web.UI.IStateFormatter
Protected ReadOnly Property StateFormatter As IStateFormatter
Valeur de propriété
Instance de IStateFormatter utilisée pour sérialiser et désérialiser l'état d'objet.
Exemples
L’exemple de code suivant montre comment une classe qui dérive de la classe accède à la PageStatePersister StateFormatter propriété pour récupérer un ObjectStateFormatter objet, qui est l’implémentation par défaut de l’interface IStateFormatter , pour sérialiser l’état d’affichage et l’état de contrôle vers un flux. Cet exemple de code fait partie d’un exemple plus grand fourni pour la PageStatePersister classe.
//
// Persist any ViewState and ControlState.
//
public override void Save()
{
if (ViewState != null || ControlState != null)
{
if (Page.Session != null)
{
Stream stateStream = GetSecureStream();
StreamWriter writer = new StreamWriter(stateStream);
IStateFormatter formatter = this.StateFormatter;
Pair statePair = new Pair(ViewState, ControlState);
// Serialize the statePair object to a string.
string serializedState = formatter.Serialize(statePair);
writer.Write(serializedState);
writer.Close();
stateStream.Close();
}
else
{
throw new InvalidOperationException("Session needed for StreamPageStatePersister.");
}
}
}
'
' Persist any ViewState and ControlState.
'
Public Overrides Sub Save()
If Not (ViewState Is Nothing) OrElse Not (ControlState Is Nothing) Then
If Not (Page.Session Is Nothing) Then
Dim stateStream As Stream
stateStream = GetSecureStream()
' Write a state string, using the StateFormatter.
Dim writer As New StreamWriter(stateStream)
Dim formatter As IStateFormatter
formatter = Me.StateFormatter
Dim statePair As New Pair(ViewState, ControlState)
Dim serializedState As String
serializedState = formatter.Serialize(statePair)
writer.Write(serializedState)
writer.Close()
stateStream.Close()
Else
Throw New InvalidOperationException("Session needed for StreamPageStatePersister.")
End If
End If
End Sub
Remarques
Vous pouvez remplacer la StateFormatter propriété pour fournir votre propre formateur d’état d’affichage.