Page.EnableViewState Eigenschap

Definitie

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de pagina de weergavestatus behoudt en de weergavestatus van een server die deze bevat, wanneer de huidige paginaaanvraag eindigt.

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

Waarde van eigenschap

true als de pagina de weergavestatus behoudt; anders, false. De standaardwaarde is true.

Kenmerken

Voorbeelden

In het volgende codevoorbeeld wordt de EnableViewState eigenschap ingesteld op false het moment dat de pagina wordt geladen. Hierdoor wordt de weergavestatus voor het Page object uitgeschakeld, wat betekent dat geen informatie over de weergavestatus voor de pagina of besturingselementen die door de pagina zijn opgenomen, worden opgeslagen.

Important

Dit voorbeeld heeft een tekstvak dat gebruikersinvoer accepteert. Dit is een mogelijke beveiligingsrisico. Standaard valideren ASP.NET webpagina's dat gebruikersinvoer geen script- of HTML-elementen bevat. Zie Overzicht van Script Exploits voor meer informatie.

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

Opmerkingen

Zie voor meer informatie over waarom u de weergavestatus Control.EnableViewStatewilt uitschakelen.

Zelfs als EnableViewState is false, kan de pagina een verborgen weergavestatusveld bevatten dat door ASP.NET wordt gebruikt om een terugpost te detecteren.

Van toepassing op

Zie ook