Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 547
  • Last Modified:

AJAX trigger not running when placed inside TabControl

Hi,

I have an AJAX Content panel with a gridview inside.  A trigger to update the filter for this is the text change property of a text box that is outside the content panel.  Works fine

However, I want to use the AJAX TabControl, and when the textbox changes nothing happens

To start off with, I kept the text box outside the tabcontrol and the update panel, but I had an error message saying that my textbox could not be found

So I moved the textbox to inside the content panel, now nothing happens except for a beep.

I've attached the code as it currently is.  Is there a way to get this content panel to update inside a TabControl?
<ajaxToolkit:ToolkitScriptManager runat="server" ID="ScriptManager1" />
    <ajaxToolkit:TabContainer runat="server" ID="Tabs">
        <ajaxToolkit:TabPanel runat="server" ID="tbAdd" HeaderText="View Current Records">
            <ContentTemplate>
                <asp:Panel ID="pnlCurData" runat="server">
                    <asp:UpdatePanel ID="uplData" runat="server">
                        <ContentTemplate>
                            Filter Telephone:<asp:TextBox ID="txtTelephone" runat="server"></asp:TextBox><br />
                            <asp:ObjectDataSource ID="odsData" runat="server" OldValuesParameterFormatString="original_{0}"
                                SelectMethod="GetData" InsertMethod="AddData" TypeName="Data999Mgr">
                                <SelectParameters>
                                    <asp:ControlParameter ControlID="txtTelephone" Name="telNumber" PropertyName="Text"
                                        Type="String" />
                                </SelectParameters>
                            </asp:ObjectDataSource>
                            <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"
                                AllowSorting="true" DataSourceID="odsData" CellPadding="4" ForeColor="#333333"
                                GridLines="None">
                                <Columns>
                                   <!--loads of columns here-->
                                </Columns>
                            </asp:GridView>
                        </ContentTemplate>
                        <Triggers>
                            <asp:AsyncPostBackTrigger ControlID="pnlCurData$txtTelephone" EventName="TextChanged" />
                        </Triggers>
                    </asp:UpdatePanel>
                </asp:Panel>
            </ContentTemplate>
        </ajaxToolkit:TabPanel>

Open in new window

0
krapvag
Asked:
krapvag
1 Solution
 
Juan_BarreraCommented:
Hi,
I've tried your code and the TextChanged event was not firing because the TextBox didn't have its AutoPostBack property enabled.
After setting it to true, the event fires and the update panel refreshes. Here is a short demo sample:
 

        <AjaxToolkit:TabContainer runat="server" ID="Tabs">
            <AjaxToolkit:TabPanel runat="server" ID="tbAdd" HeaderText="View Current Records">
                <ContentTemplate>
                    <asp:Panel ID="pnlCurData" runat="server">
                        <asp:UpdatePanel ID="uplData" runat="server">
                            <ContentTemplate>
                                Filter Telephone:<asp:TextBox ID="txtTelephone" runat="server" AutoPostBack="true"></asp:TextBox><br />
                                <asp:Label runat="server" ID="text1"></asp:Label>
                            </ContentTemplate>
                            <Triggers>
                                <asp:AsyncPostBackTrigger ControlID="txtTelephone" EventName="TextChanged" />
                            </Triggers>
                        </asp:UpdatePanel>
                    </asp:Panel>
                </ContentTemplate>
            </AjaxToolkit:TabPanel>
        </AjaxToolkit:TabContainer>
---------------------------------------------------------------
 
 Protected Sub txtTelephone_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtTelephone.TextChanged
        text1.Text = txtTelephone.Text
    End Sub

Open in new window

0
 
krapvagAuthor Commented:
Thank you, that has fixed it
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now