TextBox.OnPreRender(EventArgs) 方法

定義

如果 AutoPostBacktrue,則在用戶端上呈現前,會先註冊產生回傳事件的用戶端指令碼。Registers client script for generating postback events prior to rendering on the client, if AutoPostBack is true.

protected:
 override void OnPreRender(EventArgs ^ e);
protected public:
 override void OnPreRender(EventArgs ^ e);
protected override void OnPreRender (EventArgs e);
protected internal override void OnPreRender (EventArgs e);
override this.OnPreRender : EventArgs -> unit
Protected Overrides Sub OnPreRender (e As EventArgs)
Protected Friend Overrides Sub OnPreRender (e As EventArgs)

參數

e
EventArgs

包含事件資料的 EventArgsAn EventArgs that contains the event data.

範例

下列程式碼範例示範如何覆寫 OnPreRender 方法,讓它一律在自訂伺服器控制項中顯示單一點框線 TextBoxThe following code example demonstrates how to override the OnPreRender method so that it always displays a one-point border in a custom TextBox server control.

重要

這個範例有一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。This example has a text box that accepts user input, which is a potential security threat. 根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。By default, ASP.NET Web pages validate that user input does not include script or HTML elements. 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。For more information, see 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 - OnPreRender - C# Example</title>
    </head>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom TextBox - OnPreRender - C# Example</h3>
            
            <aspSample:CustomTextBoxOnPreRender 
              id="TextBox1" 
              runat="server">Hello World!
            </aspSample:CustomTextBoxOnPreRender>
            
        </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 - OnPreRender - VB.NET Example</title>
    </head>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom TextBox - OnPreRender - VB.NET Example</h3>
            
            <aspSample:CustomTextBoxOnPreRender id="TextBox1" 
             runat="server">Hello World!</aspSample:CustomTextBoxOnPreRender>
        </form>
    </body>
</html>
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
  [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
  public sealed class CustomTextBoxOnPreRender : System.Web.UI.WebControls.TextBox
  {
    protected override void OnPreRender(System.EventArgs e)
    {
      // Run the OnPreRender method on the base class.
      base.OnPreRender(e);

      // Display the TextBox with a 1 point border.
      this.BorderWidth = System.Web.UI.WebControls.Unit.Point(1);
    }
  }
}
Imports System.Web
Imports System.Security.Permissions

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

        Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)

            ' Run the OnPreRender method on the base class.
            MyBase.OnPreRender(e)

            ' Display the TextBox with a 1 point border.
            Me.BorderWidth = System.Web.UI.WebControls.Unit.Point(1)
        End Sub
    End Class
End Namespace

適用於