using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using System.Data.SqlClient; using System.Data; using System.Collections.Specialized; /// <summary> /// Summary description for WebService /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. [System.Web.Script.Services.ScriptService] public class WebService : System.Web.Services.WebService { public string str = (@"server=PRINCE\MSSQLSERVER1;database=centuryDB;integrated security=true;"); //public WebService() //{ // //Uncomment the following line if using designed components // //InitializeComponent(); //} [WebMethod] public AjaxControlToolkit.CascadingDropDownNameValue[] GetDropDownCategories(string knownCategoryValues, string category) { SqlConnection sqlConn = new SqlConnection(str); sqlConn.Open(); SqlCommand sqlSelect = new SqlCommand("SELECT country_id,Country FROM country_detail", sqlConn); sqlSelect.CommandType = System.Data.CommandType.Text; SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlSelect); DataSet myDataset = new DataSet(); sqlAdapter.Fill(myDataset); sqlConn.Close(); List<AjaxControlToolkit.CascadingDropDownNameValue> cascadingValues = new List<AjaxControlToolkit.CascadingDropDownNameValue>(); foreach (DataRow dRow in myDataset.Tables[0].Rows) { string categoryID = dRow["country_id"].ToString(); string categoryName = dRow["Country"].ToString(); cascadingValues.Add(new AjaxControlToolkit.CascadingDropDownNameValue(categoryName, categoryID)); } return cascadingValues.ToArray(); } [WebMethod] public AjaxControlToolkit.CascadingDropDownNameValue[] GetDropDownProducts(string knownCategoryValues, string category) { int categoryID; StringDictionary categoryValues = AjaxControlToolkit.CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues); categoryID = Convert.ToInt32(categoryValues["country"]); SqlConnection sqlConn = new SqlConnection(str); sqlConn.Open(); SqlCommand sqlSelect = new SqlCommand("SELECT state_id,State FROM state_detail where country_id = @country_id", sqlConn); sqlSelect.CommandType = System.Data.CommandType.Text; sqlSelect.Parameters.Add("@country_id", SqlDbType.Int).Value = categoryID; SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlSelect); DataSet myDataset = new DataSet(); sqlAdapter.Fill(myDataset); sqlConn.Close(); List<AjaxControlToolkit.CascadingDropDownNameValue> cascadingValues = new List<AjaxControlToolkit.CascadingDropDownNameValue>(); foreach (DataRow dRow in myDataset.Tables[0].Rows) { string productID = dRow["state_id"].ToString(); string productName = dRow["State"].ToString(); cascadingValues.Add(new AjaxControlToolkit.CascadingDropDownNameValue(productName, productID)); } return cascadingValues.ToArray(); } }
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:ToolkitScriptManager ID="ScriptManager1" runat="server"> </asp:ToolkitScriptManager> <table> <tr> <td>select country: <asp:DropDownList ID="ddlcountry" runat="server"></asp:DropDownList> </td> <td> <asp:CascadingDropDown ID="CascadingDropDown1" runat="server" Category="country" TargetControlID="ddlcountry" PromptText="[Select Category]" LoadingText="Loading categories..." ServicePath="~/WebService.asmx" ServiceMethod="GetDropDownCategories"> </asp:CascadingDropDown> </td> <td>Select state: <asp:DropDownList ID="ddlstate" runat="server" ></asp:DropDownList> </td> <td> <asp:CascadingDropDown ID="CascadingDropDown2" runat="server" Category="state" TargetControlID="ddlstate" ParentControlID="ddlcountry" PromptText="Select ...." LoadingText="Loading....." ServicePath="~/WebService.asmx" ServiceMethod="GetDropDownProducts"> </asp:CascadingDropDown> </td> <td><asp:Button ID="btnok" Text="ok" runat="server" onclick="btnok_Click" /></td> <td><asp:Label ID="lblresult" runat="server"></asp:Label></td> </tr> </table> </div> </form> </body> </html>
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)