私のサイトでは、マスターページに検索機能があります(デフォルトボタンは設定されておらず、フォームにもありません)。コンテンツ ページにログインがあり、defaultbutton で ASP パネルを使用します。しかし、ログイン テキスト ボックスで [Enter] をクリックすると、サイトが検索イベント ハンドラに移動し続けます... 理由は何でしょうか?
いくつかのコード:
//on content page
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(Button1.Text);
}
<asp:Panel ID="pnl1" runat="server" DefaultButton="Button1">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:LinkButton ID="Button1" runat="server" Text="Button1" OnClick="Button1_Click" />
</asp:Panel>
//on master page:
protected void btnSearch_Click(object sender, EventArgs e)
{
if (!txtSearch.Text.Equals(""))
{
Response.Redirect("searchresults.aspx?search=" + txtSearch.Text);
}
}
<div id="searchbar">
<asp:TextBox ID="txtSearch" CssClass="searchbar-field" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" CssClass="searchbar-btn" runat="server" Text="Zoek" OnClick="btnSearch_Click" />
</div>
OK で解決策が見つかりましButton
たLinkButton
。それなら大丈夫なはず…