Control.SaveViewState Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Salva alterações de estado de exibição do controle de servidor que ocorreram desde a hora em que ocorreu o postback da página no 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
Retornos
Retorna o estado de exibição atual do controle de servidor. Se não houver um estado de exibição associado ao controle, esse método retornará null
.
Exemplos
O exemplo a seguir substitui o SaveViewState método em um controle de servidor ASP.NET personalizado. Quando esse método é invocado, ele determina se o controle tem controles filho e se o objeto que o contém Page é o resultado de um postback. Se ambos forem verdadeiros, ele alterará a Text propriedade de um Label controle de servidor Web para ler Custom Control Has Saved State
. Em seguida, ele salva o estado de exibição do controle como uma matriz de objetos, chamada 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
Comentários
O estado de exibição é o acúmulo dos valores das propriedades de um controle de servidor. Esses valores são colocados automaticamente na propriedade do controle de ViewState servidor, que é uma instância da StateBag classe . O valor dessa propriedade é então persistido em um objeto de cadeia de caracteres após o estágio de estado de salvamento do ciclo de vida do controle de servidor. Para obter mais informações, consulte Visão geral do ciclo de vida da página ASP.NET.
Quando o estado de exibição é salvo, esse objeto de cadeia de caracteres é retornado ao cliente como uma variável armazenada em um elemento HTML HIDDEN
. Quando você cria um controle de servidor personalizado com um estado de exibição personalizado, o estado de exibição pode ser gerenciado explicitamente com os SaveViewState métodos e LoadViewState . Para obter mais informações, consulte Visão geral do Gerenciamento de Estado do ASP.NET. Para obter informações sobre como implementar um provedor de estado de sessão personalizado, consulte Implementando um provedor de repositório de Session-State.