StateBag クラス
アセンブリ: System.Web (system.web.dll 内)
構文
Public NotInheritable Class StateBag Implements IStateManager, IDictionary, ICollection, IEnumerable
ページまたはコントロールのビューステートは、そのページまたはコントロールの累積プロパティ値 (つまりビュー) によって表されます。このクラスにアクセスするには、Control.ViewState プロパティを使用します。また、コントロールは、基本的な状態情報をコントロールの状態に格納しますが、この情報は、StateBag オブジェクトとしては格納されません。
このクラスは、すべての HTML サーバー コントロールおよび Web サーバー コントロールの主要なストレージ機構です。このクラスは、属性と値のペアをコントロールに関連付けられた文字列として格納します。ページ要求に対して OnInit メソッドが実行されてから、これらの属性に対する変更を追跡し、ページまたはコントロールのビューステートへの変更を保存します。
このクラスにはディクショナリの一種が実装されているため、一般的なディクショナリ オブジェクトと同様に、ディクショナリの項目を追加したり削除したりできます。ディクショナリなどのデータ コレクションの詳細については、「コレクションとデータ構造体」を参照してください。
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.Web.UI.StateBag
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
StateBag コンストラクタ ()
アセンブリ: System.Web (system.web.dll 内)
構文
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
StateBag コンストラクタ (Boolean)
アセンブリ: System.Web (system.web.dll 内)
構文
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
StateBag コンストラクタ
オーバーロードの一覧
名前 | 説明 |
---|---|
StateBag () | StateBag クラスの新しいインスタンスを初期化します。これは、このクラスの既定のコンストラクタです。 |
StateBag (Boolean) | 格納された状態値が大文字小文字を区別するようにする StateBag クラスの新しいインスタンスを初期化します。 |
StateBag プロパティ
パブリック プロパティ
名前 | 説明 | |
---|---|---|
Count | StateBag オブジェクト内の StateItem オブジェクトの数を取得します。 | |
Item | StateBag オブジェクト内に格納された項目の値を取得または設定します。 | |
Keys | StateBag オブジェクト内の項目を表すキーのコレクションを取得します。 | |
Values | 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 メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
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 から継承されます。) |
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( 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 メンバ
ページを含む、ASP.NET サーバー コントロールのビューステートを管理します。このクラスは継承できません。
StateBag データ型で公開されるメンバを以下の表に示します。
パブリック コンストラクタ
パブリック プロパティ
名前 | 説明 | |
---|---|---|
Count | StateBag オブジェクト内の StateItem オブジェクトの数を取得します。 | |
Item | StateBag オブジェクト内に格納された項目の値を取得または設定します。 | |
Keys | StateBag オブジェクト内の項目を表すキーのコレクションを取得します。 | |
Values | 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 から継承されます。) |
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (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のページへのリンク