StateBag Classe

Definição

Gerencia o estado de exibição de controles de servidor ASP.NET, incluindo páginas. Essa classe não pode ser herdada.

public ref class StateBag sealed : System::Collections::IDictionary, System::Web::UI::IStateManager
public sealed class StateBag : System.Collections.IDictionary, System.Web.UI.IStateManager
type StateBag = class
    interface IStateManager
    interface IDictionary
    interface ICollection
    interface IEnumerable
Public NotInheritable Class StateBag
Implements IDictionary, IStateManager
Herança
StateBag
Implementações

Exemplos

O exemplo de código a seguir demonstra um controle composto Label que tem Text propriedades e FontSize . Essas propriedades são salvas e recuperadas do estado de exibição quando o Control.Render método é chamado no controle .

// This control renders values stored in view state for Text and FontSize properties.
using System;
using System.Web;
using System.Web.UI;

namespace ViewStateControlSamples
{

    public class CustomLabel : Control
    {
        private const int defaultFontSize = 3;

        // Add property values to view state with set;
        // retrieve them from view state with get.
        public String Text
        {
            get 
            { 
                object o = ViewState["Text"]; 
                return (o == null)? String.Empty : (string)o;
            }

            set
            {
                ViewState["Text"] = value;
            }
        }


        public int FontSize
        {
            get
            {
                object o = ViewState["FontSize"];
                return (o == null) ? defaultFontSize : (int)o;
            }
            set
            {
                ViewState["FontSize"] = value;
            }
        }

        [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]
        protected override void Render(HtmlTextWriter output)
        {
            output.Write("<font size=" + this.FontSize.ToString() + ">" + this.Text + "</font>");
        }
    }
}
' This control renders values stored in view state for Text and FontSize properties.

Imports System.Web
Imports System.Web.UI

Namespace ViewStateControlSamples

    Public Class CustomLabel : Inherits Control
        Private Const defaultFontSize As Integer = 3

        ' Add property values to view state with set; 
        ' retrieve them from view state with get.
        Public Property [Text]() As String
            Get
                Dim o As Object = ViewState("Text")
                If (IsNothing(o)) Then
                    Return String.Empty
                Else
                    Return CStr(o)
                End If
            End Get
            Set(ByVal value As String)
                ViewState("Text") = value
            End Set
        End Property


        Public Property FontSize() As Integer
            Get
                Dim o As Object = ViewState("FontSize")
                If (IsNothing(o)) Then
                    Return defaultFontSize
                Else
                    Return CInt(ViewState("FontSize"))
                End If

            End Get
            Set(ByVal value As Integer)
                ViewState("FontSize") = value
            End Set
        End Property
        <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
        Protected Overrides Sub Render(ByVal Output As HtmlTextWriter)
            Output.Write("<font size=" & Me.FontSize & ">" & Me.Text & "</font>")
        End Sub

    End Class

End Namespace

Comentários

O estado de exibição de uma página ou controle são os valores de propriedade cumulativa, ou exibição, dessa página ou controle. Você pode acessar essa classe por meio da Control.ViewState propriedade . Os controles também podem armazenar informações de estado essenciais no estado de controle, mas essas informações não são armazenadas como um StateBag objeto .

Essa classe é o mecanismo de armazenamento primário para todos os controles de servidor HTML e Web. Ele armazena pares de atributo/valor como cadeias de caracteres associadas ao controle. Ele controla as alterações nesses atributos somente depois que o OnInit método é executado para uma solicitação de página e salva as alterações no estado de exibição da página ou do controle.

Essa classe implementa um dicionário e você pode adicionar itens a ele ou remover itens dele como faria com qualquer objeto de dicionário. Para obter mais informações sobre coletas de dados, como dicionários, consulte Coleções e estruturas de dados.

Construtores

StateBag()

Inicializa uma nova instância da classe StateBag. Esse é o construtor sem parâmetros para essa classe.

StateBag(Boolean)

Inicializa uma nova instância da classe StateBag que permite que os valores de estado armazenados diferenciem maiúsculas de minúsculas.

Propriedades

Count

Obtém o número de objetos StateItem no objeto StateBag.

Item[String]

Obtém ou define o valor de um item armazenado no objeto StateBag.

Keys

Obtém uma coleção de chaves que representa os itens no objeto StateBag.

Values

Obtém uma coleção dos valores de estado de exibição armazenados no objeto StateBag.

Métodos

Add(String, Object)

Adiciona um novo objeto StateItem ao objeto StateBag. Se o item já existe no objeto StateBag, esse método atualizará o valor do item.

Clear()

Remove todos os itens do objeto StateBag atual.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetEnumerator()

Retorna um enumerador que itera em todos os pares chave/valor dos objetos StateItem armazenados no objeto StateBag.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsItemDirty(String)

Verifica um objeto StateItem armazenado no objeto StateBag a para avaliar se ele foi modificado desde a chamada para TrackViewState().

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Remove(String)

Remove o par chave/valor especificado do objeto StateBag.

SetDirty(Boolean)

Define o estado do objeto StateBag, bem como a propriedade Dirty de cada um dos objetos StateItem contidos nela.

SetItemDirty(String, Boolean)

Define a propriedade Dirty para o objeto StateItem especificado no objeto StateBag.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

ICollection.CopyTo(Array, Int32)

Para obter uma descrição desse membro, confira CopyTo(Array, Int32).

ICollection.IsSynchronized

Para obter uma descrição desse membro, confira IsSynchronized.

ICollection.SyncRoot

Para obter uma descrição desse membro, confira SyncRoot.

IDictionary.Add(Object, Object)

Para obter uma descrição desse membro, confira Add(Object, Object).

IDictionary.Contains(Object)

Para obter uma descrição desse membro, confira Contains(Object).

IDictionary.IsFixedSize

Para obter uma descrição desse membro, confira IsFixedSize.

IDictionary.IsReadOnly

Para obter uma descrição desse membro, confira IsReadOnly.

IDictionary.Item[Object]

Para obter uma descrição desse membro, confira Item[Object].

IDictionary.Remove(Object)

Para obter uma descrição desse membro, confira Remove(Object).

IEnumerable.GetEnumerator()

Para obter uma descrição desse membro, confira GetEnumerator().

IStateManager.IsTrackingViewState

Obtém um valor que indica se as alterações de estado estão sendo controladas.

IStateManager.LoadViewState(Object)

Restaura o estado de exibição salvo anteriormente do objeto StateBag.

IStateManager.SaveViewState()

Salva as alterações no objeto StateBag desde a hora em que a página foi postada novamente no servidor.

IStateManager.TrackViewState()

Faz com que o objeto StateBag controle as alterações em seu estado, para que elas sejam mantidas em todas as solicitações.

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

Aplica-se a

Confira também