Compartilhar via


Page.EnableViewState Propriedade

Definição

Obtém ou define um valor que indica se a página mantém seu estado de exibição e o estado de exibição de todos os controles de servidor contidos nela, quando encerra a solicitação da página atual.

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

Valor da propriedade

true se a página mantiver seu estado de exibição; caso contrário, false. O padrão é true.

Atributos

Exemplos

O exemplo de código a seguir define a EnableViewState propriedade como false quando a página é carregada. Isso desabilita o estado de exibição do objeto, o Page que significa que nem as informações de estado de exibição da página nem os controles contidos na página são salvos.

Importante

Este exemplo tem uma caixa de texto que aceita a entrada do usuário, que é uma possível ameaça à segurança. Por padrão, ASP.NET páginas da Web validam que a entrada do usuário não inclui elementos html ou script. Para obter mais informações, consulte Visão geral de explorações 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

Comentários

Para obter informações sobre por que talvez você queira desabilitar o estado de exibição, consulte Control.EnableViewState.

Mesmo que EnableViewState seja false, a página pode conter um campo de estado de exibição oculto que é usado por ASP.NET para detectar um postback.

Aplica-se a

Confira também