In this article I will explain with an example, how to avoid (Prevent) Page refresh (reload) after SelectedIndexChanged is fired in ASP.Net DropDownList using C# and VB.Net.
The only possible way is to place the DropDownList inside ASP.Net AJAX UpdatePanel so that, instead of Full PostBack which causes Page refresh (reload), a Partial PostBack will occur.
 
 

HTML Markup

The HTML Markup consists of following controls:
ScriptManager – For enabling AJAX.
UpdatePanel – For refreshing control.
DropDownList – For selecting Fruits.
The DropDownList specified with OnSelectedIndexChanged event handler and AutoPostBack property set to True.
Then AsyncPostBackTrigger is specified in the AJAX UpdatePanel in order to fire the SelectedIndexChanged event of the DropDownList using Partial PostBack.
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:DropDownList ID="ddlFruits" runat="server" AutoPostBack="true" OnSelectedIndexChanged="OnSelectedIndexChanged">
            <asp:ListItem Text="Mango" Value="1" />
            <asp:ListItem Text="Apple" Value="2" />
            <asp:ListItem Text="Banana" Value="3" />
            <asp:ListItem Text="Guava" Value="4" />
            <asp:ListItem Text="Orange" Value="5" />
        </asp:DropDownList>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ddlFruits" EventName="SelectedIndexChanged" />
    </Triggers>
</asp:UpdatePanel>
 
 

The SelectedIndexChanged event of ASP.Net DropDownList

When an item is changed in ASP.Net DropDownList, the following OnSelectedIndexChanged event handler is executed.
Inside the event handler, the selected Text and Value of the DropDownList Selected Item is fetched and displayed using JavaScript Alert message box.
C#
protected void OnSelectedIndexChanged (object sender, EventArgs e)
{
    string message = ddlFruits.SelectedItem.Text + " - " + ddlFruits.SelectedItem.Value;
    ScriptManager.RegisterStartupScript((senderas Control), this.GetType(), "alert""alert('" + message + "');"true);
}
 
VB.Net
Protected Sub OnSelectedIndexChanged (sender As Object, e As EventArgs)
    Dim message As String ddlFruits.SelectedItem.Text & " - " & ddlFruits.SelectedItem.Value
    ScriptManager.RegisterStartupScript(CType(sender, Control), Me.GetType(), "alert""alert('" & message & "');"True)
End Sub
 
 

Screenshot

Avoid (Prevent) Page refresh (PostBack) after SelectedIndexChanged is fired in ASP.Net DropDownList
 
 

Demo

 
 

Downloads