TextBox.Render(HtmlTextWriter) Method

Definition

Renders the TextBox control to the specified HtmlTextWriter object.

C#
protected override void Render(System.Web.UI.HtmlTextWriter writer);
C#
protected internal override void Render(System.Web.UI.HtmlTextWriter writer);

Parameters

writer
HtmlTextWriter

The HtmlTextWriter that receives the rendered output.

Examples

The following code example demonstrates how to override the Render method in a custom server control so that the TextBox control is always displayed with an image.

Important

This example has a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview.

ASP.NET (C#)
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Custom TextBox - Render - C# Example</title>
    </head>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom TextBox - Render - C# Example</h3>
            
            <aspSample:CustomTextBoxRender 
              id="TextBox1" 
              runat="server">Hello World!
            </aspSample:CustomTextBoxRender>
            
        </form>
    </body>
</html>
C#
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
  [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
  public sealed class CustomTextBoxRender : System.Web.UI.WebControls.TextBox
  {
    protected override void Render(System.Web.UI.HtmlTextWriter writer)
    {
      // Create and render a new Image Web control.
      System.Web.UI.WebControls.Image image = new System.Web.UI.WebControls.Image();
      image.ID = "Image1";
      image.ImageUrl = "image.jpg";	
      image.AlternateText = "Image for TextBox1.";
      image.RenderControl(writer);

      // Create a BR tag.
      writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Br);

      // Call the base class's Render method.
      base.Render(writer);
    }
  }
}

Remarks

The Render method renders the begin tag and end tag of the TextBox control to the HtmlTextWriter object for output on the client. If the TextMode property is set to MultiLine, the content of the TextBox control is rendered as an HTML <textarea> element.

The Render method is used primarily by control developers extending the functionality of the TextBox control.

Applies to

See also