StateBag Clase

Definición

Administra el estado de vista de los controles de servidor ASP.NET, incluidas las páginas. Esta clase no puede heredarse.

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
Herencia
StateBag
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra un control compuesto Label que tiene Text propiedades y FontSize . Estas propiedades se guardan en y se recuperan del estado de vista cuando se llama al Control.Render método en el control .

// 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

Comentarios

El estado de vista de una página o control es los valores de propiedad acumulativos, o la vista, de esa página o control. Puede acceder a esta clase a través de la Control.ViewState propiedad . Los controles también pueden almacenar información de estado esencial en el estado de control, pero esa información no se almacena como un StateBag objeto.

Esta clase es el mecanismo de almacenamiento principal para todos los controles html y de servidor web. Almacena pares de atributo/valor como cadenas asociadas al control. Realiza un seguimiento de los cambios en estos atributos solo después de ejecutar el OnInit método para una solicitud de página y guarda los cambios en el estado de vista del control o de la página.

Esta clase implementa un diccionario y puede agregar elementos a él o quitar elementos de él como lo haría con cualquier objeto de diccionario. Para obtener más información sobre las colecciones de datos, como diccionarios, vea Colecciones y estructuras de datos.

Constructores

StateBag()

Inicializa una nueva instancia de la clase StateBag. Este es el constructor sin parámetros para esta clase.

StateBag(Boolean)

Inicializa una nueva instancia de la clase StateBag que permite que los valores de estado almacenados no distingan mayúsculas de minúsculas.

Propiedades

Count

Obtiene el número de objetos StateItem del objeto StateBag.

Item[String]

Obtiene o establece el valor de un elemento almacenado en el objeto StateBag.

Keys

Obtiene una colección de claves que representa los elementos del objeto StateBag.

Values

Obtiene una colección de los valores del estado de vista almacenados en el objeto StateBag.

Métodos

Add(String, Object)

Agrega un nuevo objeto StateItem al objeto StateBag. Si el elemento ya existe en el objeto StateBag, este método actualiza su valor.

Clear()

Quita todos los elementos del objeto StateBag actual.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetEnumerator()

Devuelve un enumerador que recorre en iteración los pares de clave/valor de los objetos StateItem almacenados en el objeto StateBag.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsItemDirty(String)

Comprueba un objeto StateItem almacenado en el objeto StateBag para evaluar si se ha modificado desde la llamada a TrackViewState().

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Remove(String)

Quita el par clave/valor especificado del objeto StateBag.

SetDirty(Boolean)

Establece el estado del objeto StateBag así como la propiedad Dirty de cada uno de los objetos StateItem incluidos en él.

SetItemDirty(String, Boolean)

Establece la propiedad Dirty del objeto StateItem especificado en el objeto StateBag.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

ICollection.CopyTo(Array, Int32)

Para obtener una descripción de este miembro, vea CopyTo(Array, Int32).

ICollection.IsSynchronized

Para obtener una descripción de este miembro, vea IsSynchronized.

ICollection.SyncRoot

Para obtener una descripción de este miembro, vea SyncRoot.

IDictionary.Add(Object, Object)

Para obtener una descripción de este miembro, vea Add(Object, Object).

IDictionary.Contains(Object)

Para obtener una descripción de este miembro, vea Contains(Object).

IDictionary.IsFixedSize

Para obtener una descripción de este miembro, vea IsFixedSize.

IDictionary.IsReadOnly

Para obtener una descripción de este miembro, vea IsReadOnly.

IDictionary.Item[Object]

Para obtener una descripción de este miembro, vea Item[Object].

IDictionary.Remove(Object)

Para obtener una descripción de este miembro, vea Remove(Object).

IEnumerable.GetEnumerator()

Para obtener una descripción de este miembro, vea GetEnumerator().

IStateManager.IsTrackingViewState

Obtiene un valor que indica si se realiza un seguimiento de los cambios de estado.

IStateManager.LoadViewState(Object)

Restaura el estado de vista guardado previamente del objeto StateBag.

IStateManager.SaveViewState()

Guarda los cambios realizados en el objeto StateBag desde el momento en que se devuelve la página al servidor.

IStateManager.TrackViewState()

Hace que el objeto StateBag realice el seguimiento de cambios a su estado para que se pueda guardar en todas las solicitudes.

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a

Consulte también