System.Web.UI (system.web.dll)sealed class

AttributeCollection is a name/value collection of all attributes declared in the opening tag of an ASP.NET server control (which should not be confused with .NET metadata attributes). For example, an HTML text area element has rows and cols attributes that specify its size. You can access and modify the collection of control attributes for any HTML server control through the System.Web.UI.HtmlControls.HtmlControl.Attributes collection. You can also access most important attributes as control properties. Note that you cannot iterate through the AttributeCollection class because it does not directly implement the System.Collections.IEnumerable interface. Use the read-only Keys collection instead.

Web Controls also provide an attribute collection through the System.Web.UI.WebControls.WebControl.Attributes property. However, because web controls are "abstracted away" from the underlying HTML interface code, you cannot directly access the underlying attributes for the composite HTML elements of a control. Instead, this collection will typically contain a single style attribute. You can still add your own attributes to the collection (for example, TextBox1.Attributes("key") = strKey). These attributes will be rendered to the client by most web controls.

One useful way to use the AttributeCollection class is to add a JavaScript event to a control. For example, TextBox1.Attributes["onblur"] = "javascript:alert('Focus lost!);"; adds a "lost focus" JavaScript event. This will work for HTML controls and some simple web controls (like System.Web.UI.WebControls.TextBox), but not for others (like System.Web.UI.WebControls.Calendar).

public sealed class AttributeCollection {
// Public Constructors
   public AttributeCollection(StateBag bag);
// Public Instance Properties
   public int Count{get; }
   public CssStyleCollection CssStyle{get; }
   public ICollection Keys{get; }
   public string this[string key]{set; get; }
// Public Instance Methods
   public void Add(string key, string value);
   public void AddAttributes(HtmlTextWriter writer);
   public void Clear( );
   public void Remove(string key);
   public void Render(HtmlTextWriter writer);

Returned By

System.Web.UI.HtmlControls.HtmlControl.Attributes, UserControl.Attributes, System.Web.UI.WebControls.ListItem.Attributes, System.Web.UI.WebControls.WebControl.Attributes

    Part I: Introduction to ASP.NET
    Part III: Namespace Reference
    Chapter 40. The System.Web.UI.MobileControls Namespace
    Chapter 42. The System.Web.UI.WebControls Namespace