AttributeCollection.Render(HtmlTextWriter) Method

Definition

Writes the collection of attributes to the specified HtmlTextWriter output stream for the control to which the collection belongs.

public:
 void Render(System::Web::UI::HtmlTextWriter ^ writer);
public void Render (System.Web.UI.HtmlTextWriter writer);
member this.Render : System.Web.UI.HtmlTextWriter -> unit
Public Sub Render (writer As HtmlTextWriter)

Parameters

writer
HtmlTextWriter

An HtmlTextWriter instance that writes the attribute collection to the current output stream.

Examples

This section contains two code examples. The first code example shows how to inherit from the WebControl class to create a custom control named AttribRender that overrides the Render method. The second code example shows how to use the custom control in an ASP.NET Web page.

The following example shows how to create a custom control named AttribRender that overrides the Render method of the WebControl class without calling the Render method of the base class. Instead, AttribRender invokes the Render method.

/* Create a custom WebControl class, named AttribRender, that overrides
   the Render method to write two introductory strings. Then call the
   AttributeCollection.Render method, which allows the control to write the
   attribute values that are added to it when it is included in a page.
*/

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Security.Permissions;

// Create the namespace that contains the AttribRender and the
// page that accesses it.
namespace AC_Render
{
   // This is the custom WebControl class.
   [AspNetHostingPermission(SecurityAction.Demand,
      Level=AspNetHostingPermissionLevel.Minimal)]
   public class AttribRender : WebControl
   {
      // This is the overridden WebControl.Render method.
      protected override void Render(HtmlTextWriter output)
      {
         output.Write("<h2>An AttributeCollection.Render Method Example</h2>");
         output.Write("The attributes, and their values, added to the ctl1 control are <br><br>");
         // This is the AttributeCollection.Render method call. When the
         // page that contains this control is requested, the
         // attributes that the page adds, and their values,
         // are rendered to the page.
         Attributes.Render(output);
      }
   }
}
' Create a custom WebControl class, named AttribRender, that overrides 
' the Render method to write two introductory strings. Then call the
' AttributeCollection.Render method, which allows the control to write the
' attribute values that are added to it when it is included in a page.
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Security.Permissions

' Create the namespace that contains the AttribRender and the
' page that accesses it.
Namespace AC_Render

 ' This is the custom WebControl class.
    <AspNetHostingPermission(SecurityAction.Demand, _
      Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class AttribRender
        Inherits WebControl

        ' This is the overridden WebControl.Render method.
        Protected Overrides Sub Render(ByVal output As HtmlTextWriter)
            output.Write("<h2>An AttributeCollection.Render Method Example</h2>")
            output.Write("The attributes, and their values, added to the ctl1 control are <br><br>")
            ' This is the AttributeCollection.Render method call. When the
            ' page that contains this control is requested, the
            ' attributes that the page adds, and their values,
            ' are rendered to the page.
            Attributes.Render(output)
        End Sub
    End Class

End Namespace 'AC_Render

The following example shows how to use the AttribRender custom control in a Web page. It assumes that the code file for the custom control is in the App_Code folder for the application.

<%@ Page Language="C#"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  protected void Page_Load(object sender, EventArgs e)
  {
    AC_Render.AttribRender c = new AC_Render.AttribRender();
    c.Attributes.Add("Text", "Hello World!");
    c.Attributes.Add("Attribute1", "The value for Attribute1.");
    Place1.Controls.Add(c);
    
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>AttributeCollection Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:PlaceHolder id="Place1" runat="server"></asp:PlaceHolder>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim c As New AC_Render.AttribRender()
    c.Attributes.Add("Text", "Hello World!")
    c.Attributes.Add("Attribute1", "The value for Attribute1.")
    Place1.Controls.Add(c)

  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>AttributeCollection Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:PlaceHolder id="Place1" runat="server"></asp:PlaceHolder>
    </div>
    </form>
</body>
</html>

Applies to

See also