HtmlTextWriter.AddAttribute Method (String, String, Boolean)


Adds the specified markup attribute and value to the opening tag of the element that the HtmlTextWriter object creates with a subsequent call to the RenderBeginTag method, with optional encoding.

Namespace:   System.Web.UI
Assembly:  System.Web (in System.Web.dll)

public virtual void AddAttribute(
	string name,
	string value,
	bool fEndode


Type: System.String

A string containing the name of the attribute to add.

Type: System.String

A string containing the value to assign to the attribute.

Type: System.Boolean

true to encode the attribute and its value; otherwise, false.

Use the AddAttribute overload of the AddAttribute(String, String, Boolean) method if the attribute is not one of the HtmlTextWriterAttribute values, or if the attribute is not known until run time and encoding is needed.

For an instance of any given markup element, the HtmlTextWriter class maintains a list of attributes for that element. When the RenderBeginTag method is called, any attributes added by the AddAttribute method are rendered to the opening tag of the element. The list of attributes is then cleared from the HtmlTextWriter object.

Use the AddAttribute(String, String, Boolean) method with fEncode set to true, if the attribute can possibly contain a quotation mark ("), a less than sign (<), or an ampersand (&). The method call will encode the attribute to meet the requirements of the requesting device. You can set fEncode to false, if you know that none of these characters will be generated, or if you know that the attribute is already encoded.

The coding pattern for rendering markup elements is as follows:

  • Use the AddAttribute method to add any attributes to the element.

  • Use the RenderBeginTag method.

  • Use other methods as needed to render the content found between the element's opening and closing tags.

  • Use the RenderEndTag method.

The following code example shows how to use the AddAttribute overload of the AddAttribute(String, String, Boolean) method to ensure that a custom attribute, named myattribute, and its value are not encoded for an <img> element.

// Control the encoding of attributes. 
// Simple known values do not need encoding.
writer.AddAttribute(HtmlTextWriterAttribute.Alt, "Encoding, \"Required\"", true);
writer.AddAttribute("myattribute", "No &quot;encoding &quot; required", false);

.NET Framework
Available since 1.1
Return to top