StateBagとは? わかりやすく解説

StateBag クラス

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

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public NotInheritable Class
 StateBag
    Implements IStateManager, IDictionary, ICollection, IEnumerable
public sealed class StateBag : IStateManager,
 IDictionary, ICollection, 
    IEnumerable
public ref class StateBag sealed : IStateManager,
 IDictionary, ICollection, 
    IEnumerable
public final class StateBag implements IStateManager,
 IDictionary, 
    ICollection, IEnumerable
public final class StateBag implements IStateManager,
 IDictionary, 
    ICollection, IEnumerable
解説解説
使用例使用例

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

' This control renders values stored in view state for Text and FontSize
 properties.

Imports System
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
// 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>");
        }
    }
}
package ViewStateControlSamples;
// This control renders values stored in view state for Text and
// FontSize properties.
import System.*;
import System.Web.*;
import System.Web.UI.*;

public class Label extends Control
{
    // Add property values to view state with set;
    // retrieve them from view state with get.
    /** @property 
     */
    public String get_Text()
    {
        return ((String)(get_ViewState().get_Item("Text")));
    } //get_Text

    /** @property 
     */
    public void set_Text(String value)
    {
        get_ViewState().set_Item("Text", value);
    } //set_Text
    /** @property 
     */
    public int get_FontSize()
    {
        return (int)Convert.ToInt32(get_ViewState().get_Item("FontSize"));
    } //get_FontSize

    /** @property 
     */
    public void set_FontSize(int
 value)
    {
        get_ViewState().set_Item("FontSize", (Int32)value);
    } //set_FontSize

    protected void Render(HtmlTextWriter output)
    {
        output.Write("<font size=" + this.get_FontSize()
 + ">"
            + this.get_Text() + "</font>");
    } //Render
} //Label
継承階層継承階層
System.Object
  System.Web.UI.StateBag
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

StateBag コンストラクタ ()


StateBag コンストラクタ (Boolean)


StateBag コンストラクタ

StateBag クラスの新しいインスタンスを初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
StateBag () StateBag クラスの新しいインスタンスを初期化します。これは、このクラスの既定のコンストラクタです。
StateBag (Boolean) 格納された状態値が大文字小文字を区別するようにする StateBag クラスの新しいインスタンスを初期化します。
参照参照

関連項目

StateBag クラス
StateBag メンバ
System.Web.UI 名前空間
Control.ViewState プロパティ

StateBag プロパティ


パブリック プロパティパブリック プロパティ

明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.ICollection.IsSynchronized このメンバの説明については、ICollection.IsSynchronized のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.ICollection.SyncRoot このメンバの説明については、ICollection.SyncRoot のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IDictionary.IsFixedSize このメンバの説明については、IDictionary.IsFixedSize のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IDictionary.IsReadOnly このメンバの説明については、IDictionary.IsReadOnly のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IDictionary.Item このメンバの説明については、IDictionary.Item のトピックを参照してください。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.IsTrackingViewState 状態の変更が追跡されるかどうかを示す値を取得します。
参照参照

関連項目

StateBag クラス
System.Web.UI 名前空間
IStateManager インターフェイス
IDictionary
Control.ViewState プロパティ
AttributeCollection クラス

その他の技術情報

コレクションとデータ構造体
ASP.NET の状態管理の概要

StateBag メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Add 新しい StateItem オブジェクトを StateBag オブジェクトに追加します。項目が StateBag オブジェクト内に既に存在する場合、このメソッドは項目の値を更新します。
パブリック メソッド Clear 現在の StateBag オブジェクトからすべての項目を削除します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetEnumerator StateBag オブジェクトに格納されている StateItem オブジェクトのすべてのキー/値ペアを反復する列挙子を返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド IsItemDirty StateBag オブジェクトに格納されている StateItem オブジェクトをチェックして、Control.TrackViewState への呼び出し以降にそのオブジェクトが変更されたかどうかを評価します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド Remove StateBag オブジェクトから、指定したキーと値のペアを削除します。
パブリック メソッド SetDirty StateBag オブジェクトの状態、およびそのオブジェクトに格納されている各 StateItem オブジェクトの Dirty プロパティを設定します。
パブリック メソッド SetItemDirty StateBag オブジェクトで指定した StateItem オブジェクトの Dirty プロパティを設定します。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.ICollection.CopyTo このメンバの説明については、ICollection.CopyTo のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IDictionary.Add このメンバの説明については、IDictionary.Add のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IDictionary.Contains このメンバの説明については、IDictionary.Contains のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IDictionary.Remove このメンバの説明については、Remove のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IEnumerable.GetEnumerator このメンバの説明については、IEnumerable.GetEnumerator のトピックを参照してください。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.LoadViewState 以前に保存した StateBag オブジェクトのビューステートを復元します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.SaveViewState ページがサーバーにポストバックされた時間以降に発生した、StateBag オブジェクトへの変更を保存します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.TrackViewState StateBag オブジェクトに、このオブジェクトの状態への変更を追跡して要求間にわたって保持させるようにします。
参照参照

関連項目

StateBag クラス
System.Web.UI 名前空間
IStateManager インターフェイス
IDictionary
Control.ViewState プロパティ
AttributeCollection クラス

その他の技術情報

コレクションとデータ構造体
ASP.NET の状態管理の概要

StateBag メンバ

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

StateBag データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Add 新しい StateItem オブジェクトを StateBag オブジェクトに追加します。項目が StateBag オブジェクト内に既に存在する場合、このメソッドは項目の値を更新します。
パブリック メソッド Clear 現在の StateBag オブジェクトからすべての項目を削除します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetEnumerator StateBag オブジェクトに格納されている StateItem オブジェクトのすべてのキー/値ペアを反復する列挙子を返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド IsItemDirty StateBag オブジェクトに格納されている StateItem オブジェクトをチェックして、Control.TrackViewState への呼び出し以降にそのオブジェクトが変更されたかどうかを評価します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド Remove StateBag オブジェクトから、指定したキーと値のペアを削除します。
パブリック メソッド SetDirty StateBag オブジェクトの状態、およびそのオブジェクトに格納されている各 StateItem オブジェクトの Dirty プロパティを設定します。
パブリック メソッド SetItemDirty StateBag オブジェクトで指定した StateItem オブジェクトの Dirty プロパティを設定します。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.ICollection.CopyTo このメンバの説明については、ICollection.CopyTo のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IDictionary.Add このメンバの説明については、IDictionary.Add のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IDictionary.Contains このメンバの説明については、IDictionary.Contains のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IDictionary.Remove このメンバの説明については、Remove のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IEnumerable.GetEnumerator このメンバの説明については、IEnumerable.GetEnumerator のトピックを参照してください。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.LoadViewState 以前に保存した StateBag オブジェクトのビューステートを復元します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.SaveViewState ページがサーバーにポストバックされた時間以降に発生した、StateBag オブジェクトへの変更を保存します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.TrackViewState StateBag オブジェクトに、このオブジェクトの状態への変更を追跡して要求間にわたって保持させるようにします。
インターフェイスの明示的な実装 System.Collections.ICollection.IsSynchronized このメンバの説明については、ICollection.IsSynchronized のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.ICollection.SyncRoot このメンバの説明については、ICollection.SyncRoot のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IDictionary.IsFixedSize このメンバの説明については、IDictionary.IsFixedSize のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IDictionary.IsReadOnly このメンバの説明については、IDictionary.IsReadOnly のトピックを参照してください。
インターフェイスの明示的な実装 System.Collections.IDictionary.Item このメンバの説明については、IDictionary.Item のトピックを参照してください。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.IsTrackingViewState 状態の変更が追跡されるかどうかを示す値を取得します。
参照参照

関連項目

StateBag クラス
System.Web.UI 名前空間
IStateManager インターフェイス
IDictionary
Control.ViewState プロパティ
AttributeCollection クラス

その他の技術情報

コレクションとデータ構造体
ASP.NET の状態管理の概要



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「StateBag」の関連用語

StateBagのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



StateBagのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS