次の方法で共有


StateBag.Values プロパティ

StateBag オブジェクトに格納されているビューステートの値のコレクションを取得します。

Public Overridable ReadOnly Property Values As ICollection  _   Implements IDictionary.Values
[C#]
public virtual ICollection Values {get;}
[C++]
public: __property virtual ICollection* get_Values();
[JScript]
public function get Values() : ICollection;

プロパティ値

ビューステートの値のコレクション。

実装

IDictionary.Values

解説

これは、指定したページまたはコントロールのすべての StateItem オブジェクトの値を格納するコレクションです。 StateBag.GetEnumerator メソッドを使用して、これらの値を反復できます。

使用例

[Visual Basic, C#, JScript] Values プロパティを使用する例を次に示します。

 
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++] C++ のサンプルはありません。Visual Basic、C#、および JScript のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ

参照

StateBag クラス | StateBag メンバ | System.Web.UI 名前空間 | ICollection | ViewState