问题
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?
回答1:
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 + "');");
回答2:
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>
回答3:
Wrap all the asp.net controls and buttons inside the Panel and set default button property of panel with the id of a button.
回答4:
Try this code
protected void Page_Load(object sender, EventArgs e)
{
this.form1.DefaultFocus = txtSearch.ClientID;
this.Form.DefaultButton = btnSearch.UniqueID;
}
回答5:
this.Page.Form.DefaultButton = btnSave.ID;
来源:https://stackoverflow.com/questions/12263011/how-to-set-the-default-button-in-content-page-using-asp-net