Je dois définir le bouton par défaut de la page de contenu. Mon code est comme ceci:
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"
defaultbutton="BtnSearch" defaultfocus="TxtSearchValue">
Cela fonctionne bien, mais mon menu de page principale a un bouton d'image comme le chat, je peux appuyer sur la touche Entrée pour déclencher l'événement de clic sur le bouton d'image, mais il ne déclenche pas le bouton par défaut dans la page de contenu.
Comment gérer ce type de problème?
1) Il vous suffit de faire:
this.Form.DefaultButton = this.btnId.UniqueID;
OU
2) Utiliser 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;
}
}
}
Et d'après le code derrière:
ContentPage.Attributes.Add("onkeypress", "javascript:return
clickButton(event,'" + btnSearch.ClientID + "');");
J'ai résolu un problème similaire avec le code suivant.
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>
Enveloppez tous les contrôles et boutons asp.net à l'intérieur du panneau et définissez la propriété de bouton par défaut du panneau avec l'ID d'un bouton.
Essayez ce code
protected void Page_Load(object sender, EventArgs e)
{
this.form1.DefaultFocus = txtSearch.ClientID;
this.Form.DefaultButton = btnSearch.UniqueID;
}
this.Page.Form.DefaultButton = btnSave.ID;