Page.EnableViewState Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un valore che indica se la pagina conserva il proprio stato di visualizzazione e lo stato di visualizzazione dei controlli server in essa contenuti quando termina la richiesta della pagina corrente.
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
Valore della proprietà
true
se la pagina conserva lo stato di visualizzazione, altrimenti false
. Il valore predefinito è true
.
- Attributi
Esempio
Nell'esempio di codice seguente la EnableViewState proprietà viene impostata su false
quando viene caricata la pagina. In questo modo viene disabilitato lo stato di visualizzazione per l'oggetto Page , ovvero non vengono salvate né le informazioni sullo stato di visualizzazione per la pagina né i controlli contenuti nella pagina.
Importante
L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite 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
Commenti
Per informazioni sul motivo per cui si potrebbe voler disabilitare lo stato di visualizzazione, vedere Control.EnableViewState.
Anche se EnableViewState è false
, la pagina potrebbe contenere un campo dello stato di visualizzazione nascosto utilizzato da ASP.NET per rilevare un postback.