ASP.NET DefaultButton и MasterPages

На моем сайте у меня есть функция поиска на главной странице (там нет кнопки по умолчанию, также не в форме). на странице содержимого у меня есть логин, там я использую панель 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 . Тогда все должно быть в порядке ...

5
задан Michał Kuliński 16 August 2011 в 09:00
поделиться