次の方法で共有


StateBag.Keys プロパティ

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 プロパティ