Reputation: 969
I need to set the content page default button. My code is like this:
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"
defaultbutton="BtnSearch" defaultfocus="TxtSearchValue">
It is working fine, but my master page menu have one image button like chat, I can press the enter key to fire image button click event but it does not fire default button in content page.
How to handle this type of issue?
Upvotes: 18
Views: 73240
Reputation: 2440
I solved a similar problem with the following code.
Thx: http://www.w3schools.com/aspnet/prop_webcontrol_panel_defaultbutton.asp
<form runat="server">
<asp:Panel runat="server" DefaultButton="bt1">
<asp:TextBox runat="server" />
<asp:Button id="bt1" Text="Default" runat="server" />
</asp:Panel>
</form>
Upvotes: 11
Reputation: 57
Try this code
protected void Page_Load(object sender, EventArgs e)
{
this.form1.DefaultFocus = txtSearch.ClientID;
this.Form.DefaultButton = btnSearch.UniqueID;
}
Upvotes: 5
Reputation: 81
Wrap all the asp.net controls and buttons inside the Panel and set default button property of panel with the id of a button.
Upvotes: 8
Reputation: 17194
1) You simply have to do:
this.Form.DefaultButton = this.btnId.UniqueID;
OR
2) Using Javascript:
function clickButton(e, buttonid)
{
var evt = e ? e : window.event;
var bt = document.getElementById(buttonid);
if (bt)
{
if (evt.keyCode == 13)
{
bt.click();
return false;
}
}
}
And from the code behind:
ContentPage.Attributes.Add("onkeypress", "javascript:return
clickButton(event,'" + btnSearch.ClientID + "');");
Upvotes: 39