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 のセキュリティ
- AspNetHostingPermission (ホスト環境での動作に必要なアクセス許可)要求値 : LinkDemand; アクセス許可値 : Minimal。
継承階層
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