' 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


GM Creates Open Source uProtocol and Invites Automakers to Adopt It: Revolutionizing Automotive Software Development.
General Motors (GM) recently announced its entry into the Eclipse Foundation. The Eclipse Foundation is a prominent open-source software foundation. In addition, GMC announced its contribution of “uProtocol” to facilitate