StateBag StateBag StateBag StateBag Class

定義

ページを含む、ASP.NET サーバー コントロールのビューステートを管理します。Manages the view state of ASP.NET server controls, including pages. このクラスは継承できません。This class cannot be inherited.

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
継承
StateBagStateBagStateBagStateBag
実装

次のコード例は、プロパティLabelFontSizeプロパティをText持つ複合コントロールを示しています。The following code example demonstrates a composite Label control that has Text and FontSize properties. これらのプロパティは、コントロールでControl.Renderメソッドが呼び出されたときに、ビューステートに保存され、ビューステートから取得されます。These properties are saved to and retrieved from view state when the Control.Render method is called on the 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

注釈

ページまたはコントロールのビューステートは、そのページまたはコントロールの累積プロパティ値 (ビュー) です。View state for a page or control is the cumulative property values, or view, of that page or control. このクラスには、 Control.ViewStateプロパティを使用してアクセスできます。You can access this class through the Control.ViewState property. コントロールは、重要な状態情報をコントロールの状態に格納することもできますがStateBag 、その情報はオブジェクトとして格納されません。Controls can also store essential state information in control state, but that information is not stored as a StateBag object.

このクラスは、すべての HTML および Web サーバーコントロールの主要なストレージ機構です。This class is the primary storage mechanism for all HTML and Web server controls. 属性と値のペアは、コントロールに関連付けられている文字列として格納されます。It stores attribute/value pairs as strings associated with the control. このOnInitメソッドは、ページ要求に対してメソッドが実行された後にのみ、これらの属性の変更を追跡し、ページまたはコントロールのビューステートへの変更を保存します。It tracks changes to these attributes only after the OnInit method is executed for a page request, and saves the changes to the page's or control's view state.

このクラスは、ディクショナリを実装します。また、ディクショナリオブジェクトと同様に、項目を追加したり、項目を削除したりすることができます。This class implements a dictionary, and you can add items to it or remove items from it as you would any dictionary object. ディクショナリなどのデータコレクションの詳細については、「コレクションとデータ構造」を参照してください。For more information about data collections, such as dictionaries, see Collections and Data Structures.

コンストラクター

StateBag() StateBag() StateBag() StateBag()

StateBag クラスの新しいインスタンスを初期化します。Initializes a new instance of the StateBag class. これは、このクラスのパラメーターなしのコンストラクターです。This is the parameterless constructor for this class.

StateBag(Boolean) StateBag(Boolean) StateBag(Boolean) StateBag(Boolean)

格納された状態値が大文字小文字を区別するようにする StateBag クラスの新しいインスタンスを初期化します。Initializes a new instance of the StateBag class that allows stored state values to be case-insensitive.

プロパティ

Count Count Count Count

StateItem オブジェクト内の StateBag オブジェクトの数を取得します。Gets the number of StateItem objects in the StateBag object.

Item[String] Item[String] Item[String] Item[String]

StateBag オブジェクト内に格納された項目の値を取得または設定します。Gets or sets the value of an item stored in the StateBag object.

Keys Keys Keys Keys

StateBag オブジェクト内の項目を表すキーのコレクションを取得します。Gets a collection of keys representing the items in the StateBag object.

Values Values Values Values

StateBag オブジェクトに格納されているビューステートの値のコレクションを取得します。Gets a collection of the view-state values stored in the StateBag object.

メソッド

Add(String, Object) Add(String, Object) Add(String, Object) Add(String, Object)

新しい StateItem オブジェクトを StateBag オブジェクトに追加します。Adds a new StateItem object to the StateBag object. 項目が StateBag オブジェクト内に既に存在する場合、このメソッドは項目の値を更新します。If the item already exists in the StateBag object, this method updates the value of the item.

Clear() Clear() Clear() Clear()

現在の StateBag オブジェクトからすべての項目を削除します。Removes all items from the current StateBag object.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

StateItem オブジェクトに格納されている StateBag オブジェクトのすべてのキー/値ペアを反復する列挙子を返します。Returns an enumerator that iterates over all the key/value pairs of the StateItem objects stored in the StateBag object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
IsItemDirty(String) IsItemDirty(String) IsItemDirty(String) IsItemDirty(String)

StateItem オブジェクトに格納されている StateBag オブジェクトをチェックして、TrackViewState() への呼び出し以降にそのオブジェクトが変更されたかどうかを評価します。Checks a StateItem object stored in the StateBag object to evaluate whether it has been modified since the call to TrackViewState().

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(String) Remove(String) Remove(String) Remove(String)

StateBag オブジェクトから、指定したキーと値のペアを削除します。Removes the specified key/value pair from the StateBag object.

SetDirty(Boolean) SetDirty(Boolean) SetDirty(Boolean) SetDirty(Boolean)

StateBag オブジェクトの状態だけでなく、それに含まれる StateItem オブジェクトのそれぞれの Dirty プロパティを設定します。Sets the state of the StateBag object as well as the Dirty property of each of the StateItem objects contained by it.

SetItemDirty(String, Boolean) SetItemDirty(String, Boolean) SetItemDirty(String, Boolean) SetItemDirty(String, Boolean)

Dirty オブジェクトで指定した StateItem オブジェクトの StateBag プロパティを設定します。Sets the Dirty property for the specified StateItem object in the StateBag object.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

明示的なインターフェイスの実装

ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32)

このメンバーの詳細については、「CopyTo(Array, Int32)」をご覧ください。For a description of this member, see CopyTo(Array, Int32).

ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized

このメンバーの詳細については、「IsSynchronized」をご覧ください。For a description of this member, see IsSynchronized.

ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot

このメンバーの詳細については、「SyncRoot」をご覧ください。For a description of this member, see SyncRoot.

IDictionary.Add(Object, Object) IDictionary.Add(Object, Object) IDictionary.Add(Object, Object) IDictionary.Add(Object, Object)

このメンバーの説明については、Add(Object, Object) のトピックを参照してください。For a description of this member, see Add(Object, Object).

IDictionary.Contains(Object) IDictionary.Contains(Object) IDictionary.Contains(Object) IDictionary.Contains(Object)

このメンバーの説明については、Contains(Object) のトピックを参照してください。For a description of this member, see Contains(Object).

IDictionary.IsFixedSize IDictionary.IsFixedSize IDictionary.IsFixedSize IDictionary.IsFixedSize

このメンバーの詳細については、「IsFixedSize」をご覧ください。For a description of this member, see IsFixedSize.

IDictionary.IsReadOnly IDictionary.IsReadOnly IDictionary.IsReadOnly IDictionary.IsReadOnly

このメンバーの詳細については、「IsReadOnly」をご覧ください。For a description of this member, see IsReadOnly.

IDictionary.Item[Object] IDictionary.Item[Object] IDictionary.Item[Object] IDictionary.Item[Object]

このメンバーの詳細については、「Item[Object]」をご覧ください。For a description of this member, see Item[Object].

IDictionary.Remove(Object) IDictionary.Remove(Object) IDictionary.Remove(Object) IDictionary.Remove(Object)

このメンバーの詳細については、「Remove(Object)」をご覧ください。For a description of this member, see Remove(Object).

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

このメンバーの詳細については、「GetEnumerator()」をご覧ください。For a description of this member, see GetEnumerator().

IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState

状態の変更が追跡されているかどうかを示す値を取得します。Gets a value indicating whether state changes are being tracked.

IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object)

以前に保存した StateBag オブジェクトのビュー ステートを復元します。Restores the previously saved view state of the StateBag object.

IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState()

ページがサーバーにポストバックされた時間以降に発生した StateBag オブジェクトへの変更を保存します。Saves the changes to the StateBag object since the time the page was posted back to the server.

IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState()

StateBag オブジェクトが要求間で永続化できるように状態の変更を追跡します。Causes the StateBag object to track changes to its state so that it can be persisted across requests.

拡張メソッド

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

クエリの並列化を有効にします。Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象

こちらもご覧ください