|
|
|
Click here to copy the following block | ' 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 Sub
Function 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 Nothing End Function |
|
|
|
Submitted By :
Nayan Patel
(Member Since : 5/26/2004 12:23:06 PM)
|
|
|
Job Description :
He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting. |
View all (893) submissions by this author
(Birth Date : 7/14/1981 ) |
|
|