This documentation is archived and is not being maintained.

StateBag.Keys Property

Gets a collection of keys representing the items in the StateBag object.

[Visual Basic]
Public Overridable ReadOnly Property Keys As ICollection  _
   Implements IDictionary.Keys
public virtual ICollection Keys {get;}
public: __property virtual ICollection* get_Keys();
public function get Keys() : ICollection;

Property Value

The collection of keys.




These keys are the names of the control properties. For example, if you created a BGColor property on a Table control that you customized, a BGColor entry is created in this collection representing that property on your Table control.

These keys correspond to the names of the StateItem objects stored in the StateBag for the current page or server control.

You can iterate over this collection using the StateBag.GetEnumerator method.


[Visual Basic, C#, JScript] The following example demonstrates using the Keys property.

[Visual Basic] 
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 "";

[C++] No example is available for C++. To view a Visual Basic, C#, or JScript example, click the Language Filter button Language Filter in the upper-left corner of the page.


Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family

See Also

StateBag Class | StateBag Members | System.Web.UI Namespace | ICollection | ViewState