Control.SaveViewState Método
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í.
Guarda los cambios realizados en el estado de vista del control de servidor desde que la página volvió a publicarse en el servidor.
protected:
virtual System::Object ^ SaveViewState();
protected virtual object SaveViewState ();
abstract member SaveViewState : unit -> obj
override this.SaveViewState : unit -> obj
Protected Overridable Function SaveViewState () As Object
Devoluciones
Devuelve el estado de vista actual del control de servidor. Si no hay ningún estado de vista asociado al control, este método devuelve null
.
Ejemplos
En el ejemplo siguiente se invalida el SaveViewState método en un control de servidor de ASP.NET personalizado. Cuando se invoca este método, determina si el control tiene controles secundarios y si el objeto contenedor Page es el resultado de un postback. Si ambos son true, cambia la Text propiedad de un Label control de servidor web para leer Custom Control Has Saved State
. A continuación, guarda el estado de vista del control como una matriz de objetos, denominado allStates
.
protected override object SaveViewState()
{ // Change Text Property of Label when this function is invoked.
if(HasControls() && (Page.IsPostBack))
{
((Label)(Controls[0])).Text = "Custom Control Has Saved State";
}
// Save State as a cumulative array of objects.
object baseState = base.SaveViewState();
string userText = UserText;
string passwordText = PasswordText;
object[] allStates = new object[3];
allStates[0] = baseState;
allStates[1] = userText;
allStates[2] = PasswordText;
return allStates;
}
Protected Overrides Function SaveViewState() As Object
' Change Text Property of Label when this function is invoked.
If HasControls() And Page.IsPostBack Then
CType(Controls(0), Label).Text = "Custom Control Has Saved State"
End If
' Save State as a cumulative array of objects.
Dim baseState As Object = MyBase.SaveViewState()
Dim _userText As String = UserText
Dim _passwordText As String = PasswordText
Dim allStates(3) As Object
allStates(0) = baseState
allStates(1) = _userText
allStates(2) = PasswordText
Return allStates
End Function
Comentarios
El estado de vista es la acumulación de los valores de las propiedades de un control de servidor. Estos valores se colocan automáticamente en la propiedad del control de ViewState servidor, que es una instancia de la StateBag clase . A continuación, el valor de esta propiedad se conserva en un objeto de cadena después de la fase de estado de guardado del ciclo de vida del control de servidor. Para obtener más información, vea información general sobre el ciclo de vida de la página ASP.NET.
Cuando se guarda el estado de vista, este objeto de cadena se devuelve al cliente como una variable que se almacena en un elemento HTML HIDDEN
. Al crear un control de servidor personalizado con un estado de vista personalizado, el estado de vista se puede administrar explícitamente con los SaveViewState métodos y LoadViewState . Para obtener más información, consulte ASP.NET State Management Overview. Para obtener información sobre cómo implementar un proveedor de estado de sesión personalizado, consulte Implementación de un proveedor de Session-State Store.