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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からStateBag クラスを検索する場合は、下記のリンクをクリックしてください。

- StateBag クラスのページへのリンク