TextBox.Render(HtmlTextWriter) 方法

定義

TextBox 控制項呈現為指定的 HtmlTextWriter 物件。

protected:
 override void Render(System::Web::UI::HtmlTextWriter ^ writer);
protected public:
 override void Render(System::Web::UI::HtmlTextWriter ^ writer);
protected override void Render (System.Web.UI.HtmlTextWriter writer);
protected internal override void Render (System.Web.UI.HtmlTextWriter writer);
override this.Render : System.Web.UI.HtmlTextWriter -> unit
Protected Overrides Sub Render (writer As HtmlTextWriter)
Protected Friend Overrides Sub Render (writer As HtmlTextWriter)

參數

writer
HtmlTextWriter

HtmlTextWriter 接收轉譯的輸出。

範例

下列程式碼範例示範如何在自訂伺服器控制項中覆寫 Render 方法, TextBox 讓控制項一律以影像顯示。

重要

這個範例有一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。 根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。

<%@ 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>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" 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 - VB.NET Example</title>
    </head>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom TextBox - Render - VB.NET Example</h3>
            
            <aspSample:CustomTextBoxRender id="TextBox1" 
             runat="server">Hello World!</aspSample:CustomTextBoxRender>
        </form>
    </body>
</html>
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);
    }
  }
}
Imports System.Web
Imports System.Security.Permissions

Namespace Samples.AspNet.VB.Controls
    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public NotInheritable Class CustomTextBoxRender
        Inherits System.Web.UI.WebControls.TextBox

        Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)

            ' Create and render a new Image Web control.
            Dim image As 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.
            MyBase.Render(writer)
        End Sub
    End Class
End Namespace

備註

方法會將 Render 控制項的 TextBox begin 標記和結束標記轉譯為 物件, HtmlTextWriter 以在用戶端上輸出。 TextMode如果 屬性設定為 MultiLine ,控制項的內容 TextBox 會轉譯為 HTML <textarea> 專案。

方法 Render 主要是由控制項開發人員用來擴充控制項的功能 TextBox

適用於

另請參閱