Mit der folgenden Funktion kann man ermitteln, welches Control einen Postback ausgelöst hat.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Write(getPostBackControl.ID)
End Sub
Private Function getPostBackControl() As Control
Dim ctlM As Control = Nothing
Dim ctl_Name As String = Page.Request.Params("__EVENTTARGET")
If ctl_Name IsNot Nothing AndAlso ctl_Name <> "" Then
ctlM = Page.FindControl(ctl_Name)
Else
Dim cx As Control = Nothing
Dim ctrlStr As String = ""
For Each ctl As String In Page.Request.Form
If ctl.EndsWith(".x") OrElse ctl.EndsWith(".y") Then
ctrlStr = ctl.Substring(0, ctl.Length - 2)
cx = Page.FindControl(ctrlStr)
Else
cx = Page.FindControl(ctl)
End If
If TypeOf cx Is System.Web.UI.WebControls.Button _
OrElse TypeOf cx Is System.Web.UI.WebControls.ImageButton Then
ctlM = cx
Exit For
End If
Next
End If
Return ctlM
End Function