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 [C#] public virtual ICollection Keys {get;} [C++] public: __property virtual ICollection* get_Keys(); [JScript] public function get Keys() : ICollection;
Property Value
The collection of keys.
Implements
Remarks
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.
Example
[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 [C#] 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 ""; } [JScript] 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
in the upper-left corner of the page.
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
See Also
StateBag Class | StateBag Members | System.Web.UI Namespace | ICollection | ViewState