Page.EnableViewState Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor que indica si la página debe mantener su estado de vista y el de los controles de servidor que contenga cuando finalice la solicitud de página actual.
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 de propiedad
Es true
si la página mantiene su estado de vista; en caso contrario, es false
. De manera predeterminada, es true
.
- Atributos
Ejemplos
En el ejemplo de código siguiente se establece la EnableViewState propiedad false
en cuando se carga la página. Esto deshabilita el estado de vista del Page objeto, lo que significa que no se guarda información de estado de vista para la página ni ningún control contenido en la página.
Importante
Este ejemplo tiene un cuadro de texto que acepta datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para más información, consulte Información general sobre los ataques mediante scripts.
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
Comentarios
Para obtener información sobre por qué es posible que desee deshabilitar el estado de vista, vea Control.EnableViewState.
Incluso si EnableViewState es false
, la página puede contener un campo de estado de vista oculto que usa ASP.NET para detectar un postback.