How to Implement an Ajaxcontrol Toolkit Cascading Dropdown in C#

It took me a while to set it up, so I'm documenting the process of implementing the ajaxcontroltoolkit's cascading dropdown with sql...

It took me a while to set it up, so I'm documenting the process of implementing the ajaxcontroltoolkit's cascading dropdown with sql database.

We have 3 dropdowns:

What you need:
1.) windows xp os
2.) dotnet 2 framework installed
3.) visual studio 2005
4.) sqlserver express 2005
5.) ajaxcontroltoolkit: (I used the version for framework 2.0 )
*all of these should be installed on the system

1.) create a new project: ASP.NET AJAX-Enabled Web Application
2.) add references to ajaxcontrolttoolkit.dll and ajaxextensiontoolbox.dll
3.) in toolbox make a new tab (named it AJAX Controls - you can chose yours)and choose items:
+under .net framework components select "browse"
+select ajaxcontroltoolkit.dll
+you should have a panel like this:

4.) now add a ScriptManager object to the page from Toolbox->AJAX Extensions
5.) add 3 DropDownList object from Toolbox->Standard
+let's name it DropDownList1, DropDownList2, DropDownList3
6.) add 3 AjaxControlToolkit.CascadingDropDown object from Toolbox->AJAX Controls
+CascadingDropDown1, CascadingDropDown2, CascadingDropDown
7.) select CascadingDropDown1 and under properties set TargetControlID=DropDownList1
+repeat the step for CascadingDropDown2 and CascadingDropDown3
8.) while selecting DropDownList1 under properties tab, should look like the image:

Looking at the code:

<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:DropDownList ID="DropDownList2" runat="server">
<asp:DropDownList ID="DropDownList3" runat="server">
<cc1:CascadingDropDown ID="CascadingDropDown1" runat="server" Category="country" LoadingText="Loading country..." PromptText="[SELECT COUNTRY]" ServiceMethod="GetMyValues" ServicePath="Lookups.asmx" TargetControlID="DropDownList1">
<cc1:CascadingDropDown ID="CascadingDropDown2" runat="server" Category="city" LoadingText="Loading city..." PromptText="[SELECT CITY]" ServiceMethod="GetMyValues" ServicePath="Lookups.asmx" TargetControlID="DropDownList2" ParentControlID="DropDownList1">
<cc1:CascadingDropDown ID="CascadingDropDown3" runat="server" Category="airport" LoadingText="Loading airport" PromptText="[SELECT AIRPORT]" ServiceMethod="GetMyValues" ServicePath="Lookups.asmx" TargetControlID="DropDownList3" ParentControlID="DropDownList2">

10.) Explaining the values:
+Lookups.asmx: a webservice on the same project and folder as that of our application
+GetMyValues: a function on our webservice that we will be called by the CascadingDropDown object
*GetMyValues should be declared like this:
public CascadingDropDownNameValue[] GetMyValues(string knownCategoryValues, string category) { }

11.) to connect to a database add a key to webconfig:

<add key="sqlConnString" value="server=youserver;database=database;uid=you;pwd=yourpassword"/>

12.) BTW, the following tables and fields should exist in your database:
*Please take note of their relation :-)

13.) I've included a zip file of the project in:
cascading dropdown


c# 4916820373134152959

Post a Comment Default Comments