web-dev-qa-db-fra.com

Comment définir le bouton par défaut dans la page de contenu en utilisant asp.net?

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?

15
hmk

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 + "');");
37
Vishal Suthar

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>
10
Sedat Kumcu

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.

8

Essayez ce code

protected void Page_Load(object sender, EventArgs e)
    {
        this.form1.DefaultFocus = txtSearch.ClientID;
        this.Form.DefaultButton = btnSearch.UniqueID;
    }
2
Hari Kumar
this.Page.Form.DefaultButton = btnSave.ID;