次の方法で共有


AttributeCollection クラス

ASP.NET サーバー コントロール要素の開始タグで宣言されたすべての属性へのオブジェクト モデル アクセスを提供します。このクラスは継承できません。

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
Public NotInheritable Class AttributeCollection
'使用
Dim instance As AttributeCollection
public sealed class AttributeCollection
public ref class AttributeCollection sealed
public final class AttributeCollection
public final class AttributeCollection
適用できません。

解説

コレクション内の各項目は、その値として String オブジェクトを返します。コレクション内に属性項目がない場合、コレクションは null 参照 (Visual Basic では Nothing) を返します。

HTML サーバー コントロールの属性には、すべての HTML サーバー コントロールが継承する Attributes プロパティを通じて、プログラムによりアクセスできます。ASP.NET では、HTML サーバー コントロールの属性をそのコントロールのプロパティとして公開します。

すべての Web サーバー コントロールが継承する Attributes プロパティを使用して、Web サーバー コントロールに属性を追加できます。Web サーバー コントロールの属性コレクション内の属性は、そのコントロール用に厳密に型指定されたプロパティに対応しているとは限りません。

トピック 場所
方法 : Web フォーム ページのコントロールの HTML 属性を読み取る Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Web フォーム ページのコントロールの HTML 属性を読み取る Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Web フォーム ページのコントロールの HTML 属性を読み取る ASP .NET Web アプリケーションの作成

使用例

次に示すコードは、myAttributeCollection という名前の新しい AttributeCollection を作成し、その後、ページがポストバック済みかどうかをチェックします。ポストバックされていない場合は、2 つの属性をコレクションに追加し、コレクション内の属性の数を取得して、コレクションを反復処理することによって、各属性のキーをページに書き込みます。ページがポストバックである場合は、変更後の属性数を取得し、コレクションを反復処理することによって、各属性のキーと値をページに書き込みます。

  Dim myAttributeCollection As AttributeCollection = Nothing 

  Sub Page_Load(sender As Object, e As EventArgs)
      myAttributeCollection = New AttributeCollection(ViewState)
      Response.Write("<h3> AttributeCollection.AttributeCollection Sample </h3>")
      If Not IsPostBack Then
         myAttributeCollection.Add("Color", "Color.Red")
         myAttributeCollection.Add("BackColor", "Color.blue")
         Response.Write("Attribute Collection count before PostBack = " & _
myAttributeCollection.Count.ToString())
         Response.Write("<br /><u><h4>Enumerating Attributes for " & _
                                 "CustomControl before PostBack</h4></u>")
         Dim keys As IEnumerator = myAttributeCollection.Keys.GetEnumerator()
         Dim i As Integer = 1
         Dim key As String
         While keys.MoveNext()
            key = CType(keys.Current, String)
            Response.Write(i.ToString() + ". " + key + "=" + myAttributeCollection(key) + "<br />")
            i += 1
         End While
      Else
         Response.Write("Attribute Collection  count after PostBack = " + _
                                    myAttributeCollection.Count.ToString())
         Response.Write("<br /><u><h4>Enumerating Attributes for " + _
                                 "CustomControl after PostBack</h4></u>")
         Dim keys As IEnumerator = myAttributeCollection.Keys.GetEnumerator()
         Dim i As Integer = 1
         Dim key As String
         While keys.MoveNext()
            key = CType(keys.Current, String)
            Response.Write(i.ToString() + ". " + key + "=" + myAttributeCollection(key) + "<br />")
            i += 1
         End While
      End If
   End Sub
AttributeCollection myAttributeCollection = null;

void Page_Load(object sender,EventArgs e)
{
   myAttributeCollection = new AttributeCollection(ViewState);
   Response.Write("<h3> AttributeCollection.AttributeCollection Sample </h3>");
   if (!IsPostBack)
   {  
      myAttributeCollection.Add("Color" ,"Color.Red");
      myAttributeCollection.Add("BackColor","Color.blue");
      Response.Write("Attribute Collection  count before PostBack = " + myAttributeCollection.Count);
      Response.Write("<br /><u><h4>Enumerating Attributes for CustomControl before PostBack</h4></u>");
      IEnumerator keys = myAttributeCollection.Keys.GetEnumerator();
      int i =1;
      String key;
      while (keys.MoveNext())
      {
         key = (String)keys.Current;
         Response.Write(i + ". "+key + "=" + myAttributeCollection[key]+"<br />");
         i++;
      }
   }
   else
   {
      Response.Write("Attribute Collection  count after PostBack = "+myAttributeCollection.Count);
      Response.Write("<br /><u><h4>Enumerating Attributes for CustomControl after PostBack</h4></u>");
      IEnumerator keys = myAttributeCollection.Keys.GetEnumerator();
      int i =1;
      String key;
      while (keys.MoveNext())
      {
         key = (String)keys.Current;
         Response.Write(i + ". "+key + "=" + myAttributeCollection[key]+"<br />");
         i++;
      }
   }
}
System.Web.UI.AttributeCollection myAttributeCollection = null;

void Page_Load(Object sender,EventArgs e)
{
    myAttributeCollection = 
  new System.Web.UI.AttributeCollection(get_ViewState());
    get_Response().
  Write("<h3> AttributeCollection.AttributeCollection Sample </h3>");
    if (!get_IsPostBack()) {  
  myAttributeCollection.Add("Color" ,"Color.Red");
  myAttributeCollection.Add("BackColor","Color.blue");
  get_Response().Write("Attribute Collection  count before PostBack = " 
      + myAttributeCollection.get_Count());
  get_Response().Write("<br /><u><h4>Enumerating Attributes for "
      + "CustomControl before PostBack</h4></u>");
  IEnumerator keys = myAttributeCollection.get_Keys().GetEnumerator();
  int i =1;
  String key;
  while (keys.MoveNext()) {
      key = (String)keys.get_Current();
      get_Response().Write(i + ". " + key + "=" 
          + myAttributeCollection.get_Item (key) + "<br />");
      i++;
  }
    }
    else {
  get_Response().Write("Attribute Collection  count after PostBack = "
      + myAttributeCollection.get_Count());
  get_Response().Write("<br /><u><h4>Enumerating Attributes for "
      + "CustomControl after PostBack</h4></u>");
  IEnumerator keys = myAttributeCollection.get_Keys().GetEnumerator();
  int i =1;
  String key;
  while (keys.MoveNext()) {
      key = (String)keys.get_Current();
      get_Response().Write(i + ". " + key + "=" 
          + myAttributeCollection.get_Item(key)+"<br />");
      i++;
  }
    }
} //Page_Load

.NET Framework のセキュリティ

継承階層

System.Object
  System.Web.UI.AttributeCollection

スレッド セーフ

この型の public static (Visual Basicでは共有) メンバはすべて,スレッド セーフです。インスタンス メンバの場合は,スレッド セーフであるとは限りません。

プラットフォーム

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

参照

関連項目

AttributeCollection メンバ
System.Web.UI 名前空間
Attributes
Attributes