web-dev-qa-db-ja.com

asp.netを使用してコンテンツページにデフォルトボタンを設定する方法は?

コンテンツページのデフォルトボタンを設定する必要があります。私のコードは次のようなものです。

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent" 
defaultbutton="BtnSearch" defaultfocus="TxtSearchValue">

それはうまく機能していますが、私のマスターページメニューにはチャットのような画像ボタンが1つあり、Enterキーを押して画像ボタンクリックイベントを起動できますが、コンテンツページのデフォルトボタンは起動しません。

この種の問題を処理する方法は?

13
hmk

1)次のことを行うだけです。

this.Form.DefaultButton = this.btnId.UniqueID;

[〜#〜] or [〜#〜]

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;
      }
  }
}

そして、背後にあるコードから:

ContentPage.Attributes.Add("onkeypress", "javascript:return 
clickButton(event,'" + btnSearch.ClientID + "');");
37
Vishal Suthar

次のコードで同様の問題を解決しました。

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

すべてのasp.netコントロールとボタンをパネル内にラップし、パネルのデフォルトボタンプロパティをボタンのIDで設定します。

8

このコードを試してください

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;