StateBag オブジェクト内の項目を表すキーのコレクションを取得します。
名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)
構文
'宣言
Public ReadOnly Property Keys As ICollection
'使用
Dim instance As StateBag
Dim value As ICollection
value = instance.Keys
public ICollection Keys { get; }
public:
virtual property ICollection^ Keys {
ICollection^ get () sealed;
}
/** @property */
public final ICollection get_Keys ()
public final function get Keys () : ICollection
適用できません。
プロパティ値
キーのコレクション。
解説
これらのキーはコントロール プロパティの名前です。たとえば、カスタマイズした Table コントロールで BGColor プロパティを作成した場合、その Table コントロールのそのプロパティを表す BGColor エントリがこのコレクション内に作成されます。
これらのキーは、現在のページまたはサーバー コントロールの StateBag コレクションに格納されている StateItem オブジェクトの名前に対応しています。
StateBag.GetEnumerator メソッドを使用して、このコレクションを反復できます。
使用例
Keys プロパティを使用したコード例を次に示します。
Private Function GetMruList(selectedValue As String) As String
Dim state As StateBag = ViewState
If state.Count > 0 Then
Dim upperBound As Integer = state.Count
Dim keys(upperBound) As String
Dim values(upperBound) As StateItem
state.Keys.CopyTo(keys, 0)
state.Values.CopyTo(values, 0)
Dim options As New StringBuilder()
Dim i As Integer
For i = 0 To upperBound - 1
options.AppendFormat("<option {0} value={1}>{2}",IIf(selectedValue = keys(i), "selected", ""), keys(i), values(i).Value)
Next i
Return options.ToString()
End If
Return ""
End Function 'GetMruList
private string GetMruList(string selectedValue) {
StateBag state = ViewState;
if (state.Count > 0) {
int upperBound = state.Count;
string[] keys = new string[upperBound];
StateItem[] values = new StateItem[upperBound];
state.Keys.CopyTo(keys, 0);
state.Values.CopyTo(values, 0);
StringBuilder options = new StringBuilder();
for(int i = 0; i < upperBound; i++) {
options.AppendFormat("<option {0} value={1}>{2}", (selectedValue == keys[i])?"selected":"", keys[i], values[i].Value);
}
return options.ToString();
}
return "";
}
private function GetMruList(selectedValue : String) : String {
var state : StateBag = ViewState;
if (state.Count > 0) {
var upperBound : int = state.Count;
var keys : String[] = new String[upperBound];
var values : StateItem[]= new StateItem[upperBound];
state.Keys.CopyTo(keys, 0);
state.Values.CopyTo(values, 0);
var options : StringBuilder = new StringBuilder();
for(var i : int = 0; i < upperBound; i++) {
var preSelected : String = "selected";
if(selectedValue != keys[i])
preSelected = "";
options.AppendFormat("<option {0} value={1}>{2}", preSelected, keys[i], values[i].Value);
}
return options.ToString();
}
return "";
}
プラットフォーム
Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition
Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。
バージョン情報
.NET Framework
サポート対象 : 3.0,2.0,1.1,1.0
参照
関連項目
StateBag クラス
StateBag メンバ
System.Web.UI 名前空間
ICollection
Control.ViewState プロパティ