Freigeben über


Auffangen von Postback-Ereignissen

Wenn von einem Steuerelement ein Postback-Ereignis aufgezeichnet werden soll, muss die System.Web.UI.IPostBackEventHandler-Schnittstelle implementiert werden. Durch den Vertrag dieser Schnittstelle können Steuerelemente auf das Postback des Clients mit dem Auslösen eines Ereignisses auf dem Server reagieren. Die IPostBackEventHandler-Schnittstelle enthält eine Methode.

public interface IPostBackEventHandler{
    void RaisePostBackEvent(string eventArgument);
}
[Visual Basic]
Public Interface IPostBackEventHandler
   Sub RaisePostBackEvent(eventArgument As String)
End Interface

Nach dem Postback werden durch das Seitenframework die gesendeten Inhalte gesucht. Außerdem wird ermittelt, ob ein gesendeter Name mit der UniqueID des Serversteuerelements übereinstimmt, das die IPostBackEventHandler-Schnittstelle implementiert. In einem solchen Fall wird die RaisePostBackEvent-Methode dieses Steuerelements aufgerufen (nachdem Änderungsereignisse ausgelöst wurden).

Im folgenden Codefragment wird die Implementierung der RaisePostBackEvent-Methode gezeigt, durch die ein Click-Ereignis auf dem Server ausgelöst wird.

public void RaisePostBackEvent(String eventArgument){
      OnClick(EventArgs.Empty);
}
[Visual Basic]
Public Overridable Sub RaisePostDataChangedEvent() Implements IPostBackDataHandler.RaisePostDataChangedEvent
   OnTextChanged(EventArgs.Empty)
End Sub

Hinweis   Es ist unbedingt erforderlich, dass die UniqueID mit dem Name-Attribut des Steuerelements durch Wiedergabelogik verknüpft wird, wie im folgenden Beispiel gezeigt. Das Seitenframework ist nicht in der Lage, ein Postback-Ereignis an das entsprechende Steuerelement weiterzuleiten, wenn dessen Name-Attribut auf dem Client nicht mit dessen UniqueID übereinstimmt.

protected override void Render(HtmlTextWriter output) {
   output.Write("<INPUT TYPE=submit name=" + this.UniqueID + 
            " Value='Click Me' />");   
} 
[Visual Basic]
Protected Overrides Sub Render(output As HtmlTextWriter)
   output.Write("<INPUT type=submit name=" & Me.UniqueID & _
      " Value='Click Me' />")
End Sub

Ein Beispiel für ein Steuerelement, das Postback-Benachrichtigungen empfängt und Ereignisse auf dem Server auslöst, finden Sie unter Beispiel für ein Postback-Ereignis.

Siehe auch

Beispiel für ein Postback-Ereignis