StateBag クラス

定義

ページを含む、ASP.NET サーバー コントロールのビューステートを管理します。 このクラスは継承できません。

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

次のコード例は、 プロパティと FontSize プロパティを持つText複合Labelコントロールを示しています。 これらのプロパティは、 コントロールで メソッドが呼び出されると、 に Control.Render 保存され、ビューステートから取得されます。

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

注釈

ページまたはコントロールの表示状態は、そのページまたはコントロールの累積プロパティ値 (ビュー) です。 このクラスには、 プロパティを Control.ViewState 使用してアクセスできます。 コントロールは、重要な状態情報を制御状態に格納することもできますが、その情報はオブジェクトとして StateBag 格納されません。

このクラスは、すべての HTML および Web サーバー コントロールのプライマリ ストレージ メカニズムです。 属性と値のペアは、コントロールに関連付けられた文字列として格納されます。 これらの属性の変更は、ページ要求に OnInit 対して メソッドが実行された後にのみ追跡され、変更がページまたはコントロールのビュー ステートに保存されます。

このクラスは辞書を実装し、辞書オブジェクトと同様に項目を追加したり、そこから項目を削除したりできます。 ディクショナリなどのデータ コレクションの詳細については、「 コレクションとデータ構造」を参照してください。

コンストラクター

StateBag()

StateBag クラスの新しいインスタンスを初期化します。 これは、このクラスのパラメーターなしのコンストラクターです。

StateBag(Boolean)

格納された状態値が大文字小文字を区別するようにする StateBag クラスの新しいインスタンスを初期化します。

プロパティ

Count

StateItem オブジェクトに含まれる StateBag オブジェクトの数を取得します。

Item[String]

StateBag オブジェクト内に格納された項目の値を取得または設定します。

Keys

StateBag オブジェクト内の項目を表すキーのコレクションを取得します。

Values

StateBag オブジェクトに格納されているビューステートの値のコレクションを取得します。

メソッド

Add(String, Object)

新しい StateItem オブジェクトを StateBag オブジェクトに追加します。 項目が StateBag オブジェクト内に既に存在する場合、このメソッドは項目の値を更新します。

Clear()

現在の StateBag オブジェクトからすべての項目を削除します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetEnumerator()

StateItem オブジェクトに格納されている StateBag オブジェクトのすべてのキー/値ペアを反復する列挙子を返します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IsItemDirty(String)

StateItem オブジェクトに格納されている StateBag オブジェクトをチェックして、TrackViewState() への呼び出し以降にそのオブジェクトが変更されたかどうかを評価します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
Remove(String)

StateBag オブジェクトから、指定したキーと値のペアを削除します。

SetDirty(Boolean)

StateBag オブジェクトの状態だけでなく、それに含まれる StateItem オブジェクトのそれぞれの Dirty プロパティを設定します。

SetItemDirty(String, Boolean)

Dirty オブジェクトで指定した StateItem オブジェクトの StateBag プロパティを設定します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

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

ICollection.CopyTo(Array, Int32)

このメンバーの詳細については、「CopyTo(Array, Int32)」をご覧ください。

ICollection.IsSynchronized

このメンバーの詳細については、「IsSynchronized」をご覧ください。

ICollection.SyncRoot

このメンバーの詳細については、「SyncRoot」をご覧ください。

IDictionary.Add(Object, Object)

このメンバーの詳細については、「Add(Object, Object)」をご覧ください。

IDictionary.Contains(Object)

このメンバーの詳細については、「Contains(Object)」をご覧ください。

IDictionary.IsFixedSize

このメンバーの詳細については、「IsFixedSize」をご覧ください。

IDictionary.IsReadOnly

このメンバーの詳細については、「IsReadOnly」をご覧ください。

IDictionary.Item[Object]

このメンバーの詳細については、「Item[Object]」をご覧ください。

IDictionary.Remove(Object)

このメンバーの詳細については、「Remove(Object)」をご覧ください。

IEnumerable.GetEnumerator()

このメンバーの詳細については、「GetEnumerator()」をご覧ください。

IStateManager.IsTrackingViewState

状態の変更が追跡されているかどうかを示す値を取得します。

IStateManager.LoadViewState(Object)

以前に保存した StateBag オブジェクトのビュー ステートを復元します。

IStateManager.SaveViewState()

ページがサーバーにポストバックされた時間以降に発生した StateBag オブジェクトへの変更を保存します。

IStateManager.TrackViewState()

StateBag オブジェクトが要求間で永続化できるように状態の変更を追跡します。

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。

AsParallel(IEnumerable)

クエリの並列化を有効にします。

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。

適用対象

こちらもご覧ください