ASP.NET DropDownList OnSelectedIndexChanged event not fired

12,451

If you want to avoid to send the whole viewstate to the server, you should look at callbacks.

Instead, if you want to avoid a refresh of the entire page, but with postback, this should work:

<asp:DropDownList ID="ddl1" runat="server" OnSelectedIndexChanged="update1" AutoPostBack="True"  />

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <Triggers>
         <asp:AsyncPostbackTrigger ControlID="ddl1" EventName="SelectedIndexChanged" />
    </Triggers>
    <ContentTemplate>
        <asp:TextBox runat="server" ID="txt1" />
    </ContentTemplate>
</asp:UpdatePanel>
Share:
12,451
Jamie Taylor
Author by

Jamie Taylor

Updated on June 16, 2022

Comments

  • Jamie Taylor
    Jamie Taylor almost 2 years

    I'm trying to use some AJAX and ASP.Net together to enable me to run functions without having to refresh the whole page but i've stumbled across a problem in doing this

    Here's my code

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:DropDownList ID="ddl1" runat="server" OnSelectedIndexChanged="update1" />
    
            <asp:TextBox runat="server" ID="txt1" />
    
        </ContentTemplate>
    </asp:UpdatePanel>
    

    And here's my code behind

     Sub update1(ByVal sender As Object, ByVal e As EventArgs)
    
        txt1.Text = Now.ToString
    
    End Sub
    

    The event doesn't fire because I don't have AutoPostBack="True" on my ddl but adding that to the ddl will postback the whole page.

    Is there a way to avoid using AutoPostBack="True" so that it only updates the panel?

    I know I can use an asp:Button to get around this but i'd really like to be able to use a ddl with OnSelectedIndexChanged

    Thanks

  • granadaCoder
    granadaCoder about 11 years
    AutoPostBack="True". Thanks. I hate using UpdatePanels (I prefer JQuery) so I feel like I'm going back in time. But this is what I needed today. Upvote.
  • samuelesque
    samuelesque over 9 years
    Why this answer isn't given everywhere else with a similar question has been asked is completely beyond me. Exactly what I was looking for. Thanks.
  • Adnan Abdollah Zaki
    Adnan Abdollah Zaki over 8 years
    please comment it or improve it