如何使用asp.net在内容页面中设置默认按钮?

hmk*_*hmk 14 asp.net master-pages button content-pages

我需要设置内容页面默认按钮.我的代码是这样的:

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent" 
defaultbutton="BtnSearch" defaultfocus="TxtSearchValue">
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我的主页菜单有一个图像按钮,如聊天,我可以按回车键触发图像按钮点击事件,但它不会触发内容页面中的默认按钮.

如何处理这类问题?

Vis*_*har 37

1)你只需要这样做:

this.Form.DefaultButton = this.btnId.UniqueID;
Run Code Online (Sandbox Code Playgroud)

要么

2)使用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;
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

从后面的代码:

ContentPage.Attributes.Add("onkeypress", "javascript:return 
clickButton(event,'" + btnSearch.ClientID + "');");
Run Code Online (Sandbox Code Playgroud)


Sed*_*mcu 10

我用以下代码解决了类似的问题.

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>
Run Code Online (Sandbox Code Playgroud)


小智 8

将所有asp.net控件和按钮包裹在Panel中,并使用按钮的id设置面板的默认按钮属性.


小智 5

试试这个代码

protected void Page_Load(object sender, EventArgs e)
    {
        this.form1.DefaultFocus = txtSearch.ClientID;
        this.Form.DefaultButton = btnSearch.UniqueID;
    }
Run Code Online (Sandbox Code Playgroud)