Joe,
I have been able to get the example to work. Now I am attempting to use this example with my data. I have been able to get the first two boxed to work however on the third dropdown box I get the dreaded 500 error. Can you give me an idea of where to look in my code. I have three datasets dsAllSite, dsServiceUnits and dsSelectedSites.
My appologies if I have been to vague or not given you enough information to assist me.
//default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" EnableEventValidation="false" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "www.w3.org/.../xhtml11.dtd">
<html xmlns="www.w3.org/.../xhtml">
<head runat="server">
<link href="returnSiteService.css" rel="stylesheet" type="text/css" />
<title>Untitled Page</title>
</head>
<body style="text-align: center">
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<br />
<div style="text-align: center">
<table>
<tr>
<td class="tblLabel">ATO:</td>
<td class="tblSpacer"></td>
<td class="tblDropDown">
<asp:DropDownList ID="ddlAto" runat="server" CssClass="dropdown" />
</td>
</tr>
<tr>
<td class="tblLabel">Service Unit:</td>
<td class="tblSpacer"></td>
<td class="tblDropDown">
<asp:DropDownList ID="ddlSu" runat="server" CssClass="dropdown" />
</td>
</tr>
</table>
</div>
<br />
<br />
<cc1:CascadingDropDown ID="ccdAto"
runat="server"
TargetControlID="ddlAto"
Category="Symbol"
PromptText="Please begin here..."
LoadingText="Please wait..."
ServicePath="ReturnSiteService.asmx"
ServiceMethod="GetAto">
</cc1:CascadingDropDown>
<cc1:CascadingDropDown ID="ccdSU"
runat="server"
TargetControlID="ddlSu"
ParentControlID="ddlAto"
Category="Symbol"
PromptText="Select a Service Unit..."
LoadingText="Please wait..."
ServicePath="ReturnSiteService.asmx"
ServiceMethod="GetSUData">
</cc1:CascadingDropDown>
<cc1:CascadingDropDown ID="ccdOffice"
runat="server"
TargetControlID="ddlOffice"
ParentControlID="ddlSu"
Category="Symbol"
PromptText="Select an Office..."
LoadingText="Please wait..."
ServicePath="ReturnSiteService.asmx"
ServiceMethod="GetOfficeSites">
</cc1:CascadingDropDown>
</form>
</body>
</html>
//returnSiteService.cs
using System;
using System.Web;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Data.SqlClient;
using AjaxControlToolkit;
/// <summary>
/// Summary description for ReturnSiteService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class ReturnSiteService : System.Web.Services.WebService {
public ReturnSiteService () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public CascadingDropDownNameValue[] GetAto(string knownCategoryValues, string category)
{
dsAllSitesTableAdapters.atostructureTableAdapter siteAdapter = new dsAllSitesTableAdapters.atostructureTableAdapter();
dsAllSites.atostructureDataTable makes = siteAdapter.GetAllSiteData();
List<CascadingDropDownNameValue> values = new List<CascadingDropDownNameValue>();
foreach (DataRow dr in makes)
{
string Symbol = (string)dr["Symbol"];
int siteIdx = (int)dr["Idx"];
values.Add(new CascadingDropDownNameValue(Symbol, siteIdx.ToString()));
}
return values.ToArray();
}
[WebMethod]//This method selectcts the Service Units
public CascadingDropDownNameValue[] GetSUData(string knownCategoryValues, string category)
{
StringDictionary kv = CascadingDropDown.ParseKnownCategoryValuesString(knownCateg oryValues);
int siteIdx; //clear after testing
if (!kv.ContainsKey("Symbol") || !Int32.TryParse(kv["Symbol"], out siteIdx))
{
return null;
}
dsServiceUnitTableAdapters.atostructureTableAdapter serviceUnitAdapter = new dsServiceUnitTableAdapters.atostructureTableAdapter();
dsServiceUnit.atostructureDataTable su = serviceUnitAdapter.GetSUAllData(siteIdx);
List<CascadingDropDownNameValue> values = new List<CascadingDropDownNameValue>();
foreach (DataRow dr in su)
{
values.Add(new CascadingDropDownNameValue((string)dr["Symbol"], dr["Idx"].ToString()));
}
return values.ToArray();
}
[WebMethod]// This method selesct the children of the service unit
public CascadingDropDownNameValue[] GetOfficeSites(string knownCategoryValues, string category)
{
StringDictionary kv = CascadingDropDown.ParseKnownCategoryValuesString(knownCateg oryValues);
int siteIdx; //clear after testing
if (!kv.ContainsKey("Symbol") || !Int32.TryParse(kv["Symbol"], out siteIdx))
{
return null;
}
dsSelectedSitesTableAdapters.atostructureTableAdapter selectedSitesAdapter = new dsSelectedSitesTableAdapters.atostructureTableAdapter();
dsSelectedSites.atostructureDataTable ss = selectedSitesAdapter.GetSelectedSites(siteIdx);
List<CascadingDropDownNameValue> values = new List<CascadingDropDownNameValue>();
foreach (DataRow dr in ss)
{
values.Add(new CascadingDropDownNameValue((string)dr["Symbol"], dr["Idx"].ToString()));
}
return values.ToArray();
}
}