HtmlInputImage.OnPreRender(EventArgs) 方法

定义

引发 PreRender 事件。Raises the PreRender event.

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 方法,以便它始终显示不带边框的自定义 HtmlInputImage 服务器控件。The following code example demonstrates how to override the OnPreRender method so that it always displays a custom HtmlInputImage server control with no border.

<%@ 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">
<script runat="server">
  void Page_Load(Object sender, EventArgs e)
  {    
    
    // Define the onclick attribute of custom HtmlInputImage.
    HtmlInputImage1.Attributes.Add("onclick", "alert('Hello client-side world.');");
    
  }

  void HtmlInputImage1_ServerClick(Object sender, ImageClickEventArgs e)
  {
    
    // Set the inner HTML of the DIV element.
    Div1.InnerHtml = "Hello server-side world.";
    
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Custom HtmlInputImage - Method - C# Example</title>
    </head>
    <body>
        <form id="form1" runat="server">

            <h3>Custom HtmlInputImage - Method - C# Example</h3>
        
          <aspSample:CustomHtmlInputImageOnPreRender 
            id="HtmlInputImage1" 
        alt="image1.jpg"
            name="HtmlInputImage1"
            runat="server" 
            type="image" 
        src="image1.jpg"
        onserverclick="HtmlInputImage1_ServerClick" />
     
      <br />
      <br />

      <div 
        id="Div1" 
        runat="server" 
        style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px"/>
        
        </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">
<script runat="server">
  
  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    
    ' Define the onclick attribute of the custom HtmlInputImage control.
    HtmlInputImage1.Attributes.Add("onclick", "alert('Hello client-side world.');")
    
  End Sub

  Sub HtmlInputImage1_ServerClick(ByVal sender As Object, ByVal e As ImageClickEventArgs)
    
    ' Set the inner HTML of the DIV element.
    Div1.InnerHtml = "Hello server-side world."
    
  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Custom HtmlInputImage - Method - Visual Basic Example</title>
    </head>
    <body>
        <form id="form1" runat="server">

            <h3>Custom HtmlInputImage - Method - Visual Basic Example</h3>
        
          <aspSample:CustomHtmlInputImageOnPreRender 
            id="HtmlInputImage1"
                    alt="image1" 
            name="HtmlInputImage1"
            runat="server" 
            type="image" 
                    src="Image1.jpg"
                    onserverclick="HtmlInputImage1_ServerClick" />
      
      <br />
      <br />

      <div 
        id="Div1" 
        runat="server" 
        style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" />
        
        </form>
    </body>
</html>
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public sealed class CustomHtmlInputImageOnPreRender : System.Web.UI.HtmlControls.HtmlInputImage
    {
        protected override void OnPreRender(System.EventArgs e)
        {
            // Call the base class's OnPreRender method.
            base.OnPreRender(e);
            
            // Always display the HtmlInputImage control with no border.
            this.Border = 0;
        }
    }
}
Imports System.Web
Imports System.Security.Permissions

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

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

            ' Call the base class's OnPreRender method.
            MyBase.OnPreRender(e)

            ' Always display the HtmlInputImage control with no border.
            Me.Border = 0
        End Sub
    End Class
End Namespace

注解

在呈现 HtmlInputImage 控件之前,只需调用 OnPreRender 方法。The OnPreRender method is called just prior to rendering the HtmlInputImage control. OnPreRender 方法主要由控件开发人员用来扩展 HtmlInputImage 控件的功能。The OnPreRender method is used primarily by control developers extending the functionality of the HtmlInputImage control.

继承者说明

在派生类中重写 OnPreRender(EventArgs) 方法时,请确保调用基类的 OnPreRender(EventArgs) 方法,以便注册的委托接收 PreRender 事件。When overriding the OnPreRender(EventArgs) method in a derived class, be sure to call the base class's OnPreRender(EventArgs) method so that registered delegates receive the PreRender event.

适用于

另请参阅