Have you ever wanted to set initial focus to a specific control on a web form? I have! And it took me a lot of digging around to come up with the solution.
In my case, I have a master page and a content page. I need to set the initial focus to a text box named 'lkpLoginname'. here's my code that gets placed in the Page_Load event of the content page (note that you don't want to do this on postbacks):
If IsPostBack then Exit Sub
'
' Initial entry. Set focus to the windows ID text box
'
pnlEditEmps.Focus()
Dim mainform As HtmlForm = DirectCast ( Master.FindControl ( "Form1" ), HtmlForm )
Dim username As TextBox = DirectCast ( pnlEditEmps.FindControl ( "lkpLoginName" ), TextBox )
If mainform IsNot Nothing AndAlso username IsNot Nothing Then
mainform.DefaultFocus = username.UniqueID
End If
The master page has a <form> and content page is wrapped with a panel.
If you don't have a master page, then you need a form element on your web page with a panel wrapped around it. I was able to do this on a popup window and the code that worked is as follows:
If IsPostBack then Exit Sub
'
' Initial entry. Set focus to the windows ID text box
'
Dim mainform As HtmlForm = DirectCast ( pnlWrapForm.FindControl ( "Form1" ), HtmlForm )
Dim username As TextBox = DirectCast ( pnlWrapForm.FindControl ( "lkpLoginName" ), TextBox )
If mainform IsNot Nothing AndAlso username IsNot Nothing Then
mainform.DefaultFocus = username.UniqueID
End If
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.