Acquisizione di eventi postback

Affinché un controllo acquisisca un evento postback, è necessario implementare l'interfaccia System.Web.UI.IPostBackEventHandler. Il contratto di questa interfaccia consente a un controllo di generare eventi sul server in seguito al postback dal client. L'interfaccia IPostBackEventHandler contiene un metodo.

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

Durante il postback, il framework di pagina esegue una ricerca nei dati inseriti e determina se il nome inserito corrisponde all'UniqueID di un controllo server che implementa IPostBackEventHandler. In questo caso, viene richiamato il metodo RaisePostBackEvent su tale controllo dopo aver generato eventi di modifica.

Nella porzione di codice riportata di seguito viene illustrata un'implementazione di RaisePostBackEvent che genera un evento Click sul server.

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

Nota   È importante che la logica di rendering assegni l'UniqueID all'attributo del nome del controllo come illustrato nell'esempio riportato di seguito. Il framework di pagina non è in grado di inviare un evento postback al controllo se il relativo attributo del nome sul client non corrisponde all'UniqueID.

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

Per un esempio di un controllo che riceve notifiche di postback e genera eventi sul server, vedere Esempio di evento postback.

Vedere anche

Esempio di evento postback