Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set the default button in content page using asp.net?

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?

like image 872
hmk Avatar asked Sep 04 '12 11:09

hmk


4 Answers

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 + "');");
like image 141
Vishal Suthar Avatar answered Oct 07 '22 11:10

Vishal Suthar


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>
like image 38
Sedat Kumcu Avatar answered Oct 07 '22 10:10

Sedat Kumcu


Wrap all the asp.net controls and buttons inside the Panel and set default button property of panel with the id of a button.

like image 25
Asit Kumar Panda Avatar answered Oct 07 '22 11:10

Asit Kumar Panda


Try this code

protected void Page_Load(object sender, EventArgs e)
    {
        this.form1.DefaultFocus = txtSearch.ClientID;
        this.Form.DefaultButton = btnSearch.UniqueID;
    }
like image 37
Hari Kumar Avatar answered Oct 07 '22 11:10

Hari Kumar