开发者

ASP.NET Ajax Text Box with Button not firing

Hey just wondering if my syntax is wrong here

<asp:UpdatePanel ID="UpdatePanel2" 
                        runat="server" 
                        UpdateMode="Always">
                        <ContentTemplate>
        <asp:textbox id="searchProductName" runat="server"></asp:textBox> <asp:Button ID="btnProductSearch" runat="server" Text="Search Product Name"  CssClass="search" OnClick="ProductSearch_Click"  UseSubmitBehavior="true" CausesValidation="false" />
    </ContentTemplate>
    <Triggers>
                 <asp:AsyncPostBackTrigger ControlID="btnProductSearch" EventName="Click" />
            </Triggers>
            </asp:UpdatePa开发者_Go百科nel>

and my OnClick method

Protected Sub ProductSearch_Click(ByVal sender As Object, ByVal e As EventArgs)
    ' Filter by ProductName
    If searchProductName.Text.Length > 0 Then
        srcProductListPerCustomer.FilterExpression = " (productName like '%" + searchProductName.Text.ToString & "%')"
        productListTable.DataBind()
    Else
        srcProductListPerCustomer.FilterExpression = ""
        productListTable.DataBind()
    End If

End Sub

The problem is nothing is happening when I click on the button. The button works fine without the Ajax


Your button doesn't need to be in an UpdatePanel. The controls in a UpdatePanel should be the controls that are to be updated asynchronously. Put your UpdatePanel around the GridView you're updating, and use the AsyncPostBackTrigger in the same way.

It's best to keep UdpatePanels as small as possible; the fewer controls inside them, the less HTML will be sent back from the server (less bandwidth, faster request/response time). PostBackTriggers can refer to controls outside of the UpdatePanel with no problems.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜