Page.EnableViewState 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 ou définit une valeur indiquant si la page conserve son état d'affichage, ainsi que celui de tous les contrôles serveur qu'elle contient, à la fin de la requête de page en cours.
public:
virtual property bool EnableViewState { bool get(); void set(bool value); };
[System.ComponentModel.Browsable(false)]
public override bool EnableViewState { get; set; }
[<System.ComponentModel.Browsable(false)>]
member this.EnableViewState : bool with get, set
Public Overrides Property EnableViewState As Boolean
Valeur de propriété
true
si la page conserve son état d'affichage ; sinon, false
. La valeur par défaut est true
.
- Attributs
Exemples
L’exemple de code suivant définit la propriété sur EnableViewStatefalse
lorsque la page est chargée. Cela désactive l’état d’affichage de l’objet Page , ce qui signifie que ni les informations d’état d’affichage de la page, ni les contrôles contenus dans la page ne sont enregistrés.
Important
Cet exemple comprend une zone de texte qui accepte une entrée d'utilisateur, ce qui constitue une menace potentielle pour la sécurité. Par défaut, les pages web ASP.NET vérifient que l’entrée d’utilisateur n’inclut pas de script ou d’éléments HTML. Pour plus d’informations, consultez Vue d’ensemble des attaques de script.
public class WebPage : Page
{
private MyForm myFormObj;
private Label label1;
private Label label2;
private TextBox textBoxObj;
private Button buttonObj;
public WebPage()
{
Page.Init += new System.EventHandler(Page_Init);
}
private void Page_Load(object sender, System.EventArgs e)
{
// Comment the following line to maintain page view state.
Page.EnableViewState = false;
myFormObj.Method = "post";
Controls.Add(myFormObj);
textBoxObj.Text = "Welcome to .NET";
label1.Text = "Enter a name";
buttonObj.Text = "ClickMe";
buttonObj.Click += new EventHandler(Button_Click);
myFormObj.Controls.Add(label1);
myFormObj.Controls.Add(textBoxObj);
myFormObj.Controls.Add(buttonObj);
myFormObj.Controls.Add(label2);
}
private void Button_Click(object sender, EventArgs e)
{
String temp = "<br>Name is " + textBoxObj.Text + "<br>";
temp += "Saved content of previous page is " + ViewState["name"] as String;
label2.Text = temp;
}
protected override void LoadViewState(object viewState)
{
if(viewState != null)
base.LoadViewState(viewState);
}
protected override object SaveViewState()
{
ViewState["name"] = textBoxObj.Text;
return base.SaveViewState();
}
private void Page_Init(object sender, EventArgs e)
{
this.Load += new System.EventHandler(this.Page_Load);
myFormObj = new MyForm();
label1 = new Label();
label2 = new Label();
textBoxObj = new TextBox();
buttonObj = new Button();
}
};
Public Class WebPage
Inherits System.Web.UI.Page
Private myFormObj As MyForm
Private label1 As Label
Private label2 As Label
Private textBoxObj As TextBox
Private buttonObj As Button
Public Sub New()
AddHandler Page.Init, AddressOf Page_Init
End Sub
Private Sub Page_Load(sender As Object, e As System.EventArgs)
' Comment the following line to maintain page view state.
Page.EnableViewState = false
myFormObj.Method = "post"
Controls.Add(myFormObj)
textBoxObj.Text = "Welcome to .NET"
label1.Text = "Enter a name"
buttonObj.Text = "ClickMe"
AddHandler buttonObj.Click, AddressOf Button_Click
myFormObj.Controls.Add(label1)
myFormObj.Controls.Add(textBoxObj)
myFormObj.Controls.Add(buttonObj)
myFormObj.Controls.Add(label2)
End Sub
Private Sub Button_Click(sender As Object, e As EventArgs)
Dim temp As [String] = "<br>Name is " + textBoxObj.Text + "<br>"
temp += "Saved content of previous page is " + CType(ViewState("name"), String)
label2.Text = temp
End Sub
Protected Overrides Sub LoadViewState(viewState As Object)
If Not (viewState Is Nothing) Then
MyBase.LoadViewState(viewState)
End If
End Sub
Protected Overrides Function SaveViewState() As Object
ViewState("name") = textBoxObj.Text
Return MyBase.SaveViewState()
End Function 'SaveViewState
Private Sub Page_Init(sender As Object, e As EventArgs)
AddHandler Me.Load, AddressOf Me.Page_Load
myFormObj = New MyForm()
label1 = New Label()
label2 = New Label()
textBoxObj = New TextBox()
buttonObj = New Button()
End Sub
End Class
Remarques
Pour plus d’informations sur la raison pour laquelle vous souhaiterez peut-être désactiver l’état d’affichage, consultez Control.EnableViewState.
Même si EnableViewState a false
la valeur , la page peut contenir un champ d’état d’affichage masqué utilisé par ASP.NET pour détecter une publication.