devxlogo

GetPostbackControl – Return a reference to the control that caused the last postback

GetPostbackControl – Return a reference to the control that caused the last postback

' Return a reference to the control that caused the last postback,'  even from the Page_Load event!' It requires in input a reference to the posted-back page' (this is necessary if you want to be able to move this function in a separate ' class' instead of in a page's codebehind class'' Example:'    Private Sub Page_Load(ByVal sender As System.Object,'  ByVal e As System.EventArgs) Handles MyBase.Load'        Dim postbackCtl As Control = GetPostbackControl(Me)'        If Not postbackCtl Is Nothing Then'            lblResult.Text = postbackCtl.ID'        End If'    End SubFunction GetPostbackControl(ByVal targPage As Page) As Control    If targPage.IsPostBack Then        ' try to find the name of the postback control in the hidden         ' __EVENTTARGET field        Dim ctlName As String = targPage.Request.Form("__EVENTTARGET")        ' if the string is not null, return the control with that name        If ctlName.Trim().Length > 0 Then            Return targPage.FindControl(ctlName)        End If        ' the trick above does not work if the postback is caused by standard         ' buttons.        ' In that case we retrieve the control the ASP-way: by looking in the         ' Page's Form collection        ' to find the name of a button control, that actually is the control         ' that submitted the page        Dim keyName As String        For Each keyName In targPage.Request.Form            Dim ctl As Control = targPage.FindControl(keyName)            ' if a control named as this key exists,            '  check whether it is a button - if it is, return it!            If Not ctl Is Nothing Then                If TypeOf ctl Is Button Then                    Return ctl                End If            End If        Next    End If    Return NothingEnd Function

See also  Professionalism Starts in Your Inbox: Keys to Presenting Your Best Self in Email
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist