Control.SaveControlState Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Guarda quaisquer alterações no estado de controlo do servidor que tenham ocorrido desde que a página foi publicada de volta no servidor.
protected public:
virtual System::Object ^ SaveControlState();
protected internal virtual object SaveControlState();
abstract member SaveControlState : unit -> obj
override this.SaveControlState : unit -> obj
Protected Friend Overridable Function SaveControlState () As Object
Devoluções
Devolve o estado atual do controlo do servidor. Se não houver estado associado ao controlo, este método devolve null.
Exemplos
O exemplo de código seguinte sobrepõe o método SaveControlState num controlo ASP.NET personalizado. Quando este método é invocado, determina se a propriedade currentIndex interna está definida para um valor não padrão e, em caso afirmativo, guarda o valor para o estado de controlo.
O OnInit método é sobreposto para chamar o RegisterRequiresControlState método em e Page indicar que o controlo personalizado usa o estado de controlo.
public class Sample : Control {
private int currentIndex = 0;
protected override void OnInit(EventArgs e) {
Page.RegisterRequiresControlState(this);
base.OnInit(e);
}
protected override object SaveControlState() {
return currentIndex != 0 ? (object)currentIndex : null;
}
protected override void LoadControlState(object state) {
if (state != null) {
currentIndex = (int)state;
}
}
}
Class Sample
Inherits Control
Dim currentIndex As Integer
Protected Overrides Sub OnInit(ByVal e As EventArgs)
Page.RegisterRequiresControlState(Me)
currentIndex = 0
MyBase.OnInit(e)
End Sub
Protected Overrides Function SaveControlState() As Object
If currentIndex <> 0 Then
Return CType(currentIndex, Object)
Else
Return Nothing
End If
End Function
Protected Overrides Sub LoadControlState(ByVal state As Object)
If (state <> Nothing) Then
currentIndex = CType(state, Integer)
End If
End Sub
End Class
Observações
Use o SaveControlState método para guardar a informação de estado necessária para o funcionamento de um controlo específico. Estes dados de estado de controlo são armazenados separadamente dos dados de estado de visualização do controlo.
Controlos personalizados que usam o estado de controlo devem chamar o RegisterRequiresControlState método antes Page de guardar o estado de controlo.
Notas para Herdeiros
Quando o estado de controlo é guardado, um objeto string é devolvido ao cliente como uma variável armazenada num elemento HTML HIDDEN . Substitua este método para extrair a informação do estado a usar sob controlo.
O estado de controlo destina-se a pequenas quantidades de dados críticos, como um índice de página ou uma palavra-chave. Usar o estado de controlo para grandes quantidades de dados pode afetar negativamente o desempenho da página. Para mais informações, consulte ASP.NET Visão Geral da Gestão do Estado.