问题
I have an asp.net ascx control file and I have put the control on an aspx page. The aspx page has a button in which when I press enter on the keyboard, I want it to fire the event handler for the button. Is there a way to set this?
I am using a master page with a button already on it, so now when I press the enter key, the event handler for that button fires.
回答1:
DefaultButton also works in panels, so you can set a default button in each panel and have the Enter key click the button in whichever panel currently has focus.
回答2:
This is subtle in IE. You'll need to add a textbox to your control, set the display to none, and visibility to hidden which shouldn't affect the appearance of your control since this textbox will be hidden, the enter should work correctly, this is an IE issue
Edit: Ignore this if you use .NET 2.0 which introduced defaultButton
回答3:
Try this:
<form id="form1" runat="server" defaultbutton="myButton">
回答4:
Page.Form.DefaultButton - msdn link here
回答5:
Just a small note: You cannot use the 'defaultButton' attribute if your button is a LinkButton, it doesn't work for that, taken from here: http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlform.defaultbutton.aspx
来源:https://stackoverflow.com/questions/350655/how-do-i-associate-the-enter-key-with-a-button-on-an-aspx-page