?
Solved

Performing button click from textbox enter in VB.NET

Posted on 2013-11-24
2
Medium Priority
?
738 Views
Last Modified: 2013-11-24
Hello,

I have a login box in my application - which has a username textbox, a password textbox and a Submit button.

I want the login subroutine to fire whether the user presses the Submit button, or if the user has the focus in the password textbox and presses enter.

Initially, I had coded it as follows (had 2 different handlers - one for the button and one for the textbox - both pointing back to the same subroutine)

    Sub LoginProc(sender As Object, e As System.EventArgs)
        
        ' Login by pushing the LOGIN button
        LoadPermissions(usernameTextbox.Text, passwordTextbox.Text)

    End Sub
    
    Sub LoginProc1(ByVal Source As Object, ByVal E As EventArgs)
   
        ' Login by pushing ENTER
        LoadPermissions(usernameTextbox.Text, passwordTextbox.Text)

    End Sub
    
    Sub LoadPermissions(ByVal Username As String, ByVal Password As String)
  
      .... Do my stuff here ...

    End Sub

Open in new window


with the associated HTML:

<asp:TextBox ID="passwordTextbox" runat="server" OnTextChanged="LoginProc1" autopostback="true" Width="44" TextMode="Password" />
<asp:Button runat="server" id="loginsubmitButton1" OnClick="LoginProc" class="formbutton" />

Open in new window


Realize now that that has been crappy code and everytime I login (still don't know why) both handlers are automatically invoked and the LoadPermissions subroutine is fired twice.

How can I clean up my code to just fire LoadPermissions once with one handler that works for both pushing the button, and using the ENTER button while the textbox is in focus ?

Thanks, Peter
0
Comment
Question by:pbissegger
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 83

Accepted Solution

by:
CodeCruiser earned 2000 total points
ID: 39672789
See if adding following line to your Page_Load works

Page.RegisterHiddenField("__EVENTTARGET", "btnSubmit")

http://www.hanselman.com/blog/ASPNETHowToCreateADefaultEnterButtonForFormsPostBacks.aspx


You can also add the password textbox to a panel and then set Panel.DefaultButton property

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.panel.defaultbutton(v=vs.110).aspx
0
 

Author Closing Comment

by:pbissegger
ID: 39673366
Fantastic ! Works like a charm !

I already had a panel around my login, so I implemented the panel solution.

Thanks, Peter
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
In this video we outline the Physical Segments view of NetCrunch network monitor. By following this brief how-to video, you will be able to learn how NetCrunch visualizes your network, how granular is the information collected, as well as where to f…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
Suggested Courses

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question