Hi,
CascadingDropDown is based on the Child-Parent structure. But what you want is based on a parallel structure. Implementing parallel stucture by using CascadingDropDown will modify the whole architecture of it. It's not recommendable.
My suggestion is using UpdatePanel and DropDownList to implement this functionality without refreshing.
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" AppendDataBoundItems="true"
onselectedindexchanged="DropDownListUpdate">
<asp:ListItem Selected="True" Value="-1" >Please Select</asp:ListItem>
</asp:DropDownList>
<br />
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" AppendDataBoundItems="true"
onselectedindexchanged="DropDownListUpdate">
<asp:ListItem Selected="True" Value="-1">Please Select</asp:ListItem>
</asp:DropDownList>
<br />
<asp:DropDownList ID="DropDownList3" runat="server" AutoPostBack="True" AppendDataBoundItems="true"
onselectedindexchanged="DropDownListUpdate">
<asp:ListItem Selected="True" Value="-1">Please Select</asp:ListItem>
</asp:DropDownList>
<br />
<asp:DropDownList ID="DropDownList4" runat="server" AutoPostBack="True" AppendDataBoundItems="true"
onselectedindexchanged="DropDownListUpdate">
<asp:ListItem Selected="True" Value="-1">Please Select</asp:ListItem>
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
<br /> protected void DropDownListUpdate(object sender, EventArgs e)
{
if(((DropDownList)sender).SelectedValue!="-1")
BindUpdate((DropDownList)sender);
}
protected void BindUpdate(DropDownList ddl)
{
//"ddl" is the active DropDownList you click. Please update other three DropDownlist Controls according to the Selected DropDownList ID and Value.
ScriptManager.RegisterStartupScript(Page, this.GetType(), "script", "alert('updated');", true);
}