Solved

AJAX trigger not running when placed inside TabControl

Posted on 2008-10-31
2
537 Views
Last Modified: 2011-09-20
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
Comment
Question by:krapvag
2 Comments
 
LVL 20

Accepted Solution

by:
Juan_Barrera earned 125 total points
ID: 22855852
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
 
LVL 1

Author Closing Comment

by:krapvag
ID: 31512125
Thank you, that has fixed it
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

OverviewThis article demonstrates a simple search form using AJAX. The purpose of the article is to demonstrate how to use the same code to render a page and javascript (JQuery) and AJAX to make subsequent calls to refine the results. The princip…
I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question