IPostBackEventHandler.RaisePostBackEvent(String) 方法


当由类实现时,使服务器控件能够处理将窗体发送到服务器时引发的事件。When implemented by a class, enables a server control to process an event raised when a form is posted to the server.

 void RaisePostBackEvent(System::String ^ eventArgument);
public void RaisePostBackEvent (string eventArgument);
abstract member RaisePostBackEvent : string -> unit
Public Sub RaisePostBackEvent (eventArgument As String)



表示要传递到事件处理程序的可选事件参数的 StringA String that represents an optional event argument to be passed to the event handler.


下面的代码示例定义了一个自定义按钮服务器控件, 该控件将导致回发, RaisePostBackEvent使用方法捕获回发Click事件, 并在服务器上引发事件。The following code example defines a custom button server control that causes postback, captures the postback event using the RaisePostBackEvent method, and raises a Click event on the server.

using System;
using System.Web.UI;
using System.Collections;
using System.Collections.Specialized;

namespace CustomControls {

   [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]   
   public class MyButton: Control, IPostBackEventHandler {
      // Defines the Click event.
      public event EventHandler Click;
      //Invoke delegates registered with the Click event.
      protected virtual void OnClick(EventArgs e) {
         if (Click != null) {
            Click(this, e);
      // Define the method of IPostBackEventHandler that raises change events.
      public void RaisePostBackEvent(string eventArgument){
         OnClick(new EventArgs());
      protected override void Render(HtmlTextWriter output) {
         output.Write("<INPUT TYPE = submit name = " + this.UniqueID + 
            " Value = 'Click Me' />");   
Imports System.Web.UI
Imports System.Collections
Imports System.Collections.Specialized

Namespace CustomControls    
    <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> Public Class MyButton
        Inherits Control
        Implements IPostBackEventHandler
        ' Define the Click event.
        Public Event Click As EventHandler
        ' Invoke delegates registered with the Click event.
        Protected Overridable Sub OnClick(e As EventArgs)            
            RaiseEvent Click(Me, e)
        End Sub
        ' Define the method of IPostBackEventHandler that raises change events.
        Public Sub RaisePostBackEvent(eventArgument As String) _
        Implements IPostBackEventHandler.RaisePostBackEvent
            OnClick(New EventArgs())
        End Sub       
        Protected Overrides Sub Render(output As HtmlTextWriter)
            output.Write("<INPUT TYPE = submit name = " & Me.UniqueID & _
                " Value = 'Click Me' />")
        End Sub
    End Class
End Namespace


该页将eventArgument参数值传递RaisePostBackEvent给实现IPostBackEventHandler接口的控件的方法。The page passes the value of the eventArgument parameter to the RaisePostBackEvent method of the control that implements the IPostBackEventHandler interface. 此控件还呈现导致回发发生的 HTML 元素。This control also renders the HTML element that causes the postback to occur. 如果控件呈现用于回发的客户端脚本, 则会在eventArgument参数中传递脚本中的参数。If the control renders client-side script for postback, the argument from the script is passed in the eventArgument parameter. 如果回发是由简单的提交操作引起的, eventArgument则参数null为。If the postback is caused by a simple submit operation, the eventArgument parameter is null.

此方法为 HTML 和 Web 服务器控件实现的多个事件提供了功能。This method provides the functionality for many events implemented by HTML and Web server controls.