Hi All,
I cannot understand what's wrong with the below code but the dropdownlists are not populated as expected.
<asp:DropDownList ID="ddlcontinents" runat="server" CssClass="ddlcontent"></asp:DropDownList><cc1:CascadingDropDown ID="ccdddlcontinents" runat="server"
TargetControlID="ddlcontinents"
PromptText="Select Continents"
PromptValue=""
ServicePath="ccdregioncountry.asmx"
ServiceMethod="GetContinents"
Category="Continent" /><asp:DropDownList ID="ddlcountries" runat="server" CssClass="ddlcontent"> </asp:DropDownList><cc1:CascadingDropDown ID="ccdddlcountries" runat="server"
TargetControlID="ddlcountries"
PromptText="Select Country"
PromptValue=""
ServicePath="ccdregioncountry.asmx"
ServiceMethod="GetCountries"
Category="Country"/>I created a webmethod as follows:
Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Imports AjaxControlToolkit
Imports System.Collections.Generic<WebService([Namespace]:="http://tempuri.org/")> _<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _<System.Web.Script.Services.ScriptService()> _
Public Class ccdregioncountry
Inherits System.Web.Services.WebService
Private conString As String = System.Configuration.ConfigurationManager.ConnectionStrings("DefaultConnection").ToString()<WebMethod> _
Public Function GetContinents(knownContinentValues As String, Continent As String) As CascadingDropDownNameValue()
Dim sqlConn As New SqlConnection(conString)
sqlConn.Open()
Dim sqlSelect As New SqlCommand("SELECT ContinentName, ContinentId FROM Continents", sqlConn)
sqlSelect.CommandType = System.Data.CommandType.Text
Dim sqlAdapter As New SqlDataAdapter(sqlSelect)
Dim myDataset As New DataSet()
sqlAdapter.Fill(myDataset)
sqlConn.Close()
Dim cascadingValues As New List(Of CascadingDropDownNameValue)()
For Each dRow As DataRow In myDataset.Tables(0).Rows
Dim ContinentId As String = dRow("ContinentId").ToString()
Dim ContinentName As String = dRow("ContinentName").ToString()
cascadingValues.Add(New CascadingDropDownNameValue(ContinentName, ContinentId))
Next
Return cascadingValues.ToArray()
End Function<WebMethod> _
Public Function GetCountries(knownContinentValues As String, Continent As String) As CascadingDropDownNameValue()
Dim ContinentId As Integer
Dim continentValues As StringDictionary = CascadingDropDown.ParseKnownCategoryValuesString(knownContinentValues)
ContinentId = Convert.ToInt32(continentValues("Continent"))
Dim sqlConn As New SqlConnection(conString)
sqlConn.Open()
Dim sqlSelect As New SqlCommand("SELECT CountryName, CountryId FROM Countries WHERE ContinentId=@ContinentId", sqlConn)
sqlSelect.CommandType = System.Data.CommandType.Text
sqlSelect.Parameters.Add("@ContinentId", SqlDbType.Int).Value = ContinentId
Dim sqlAdapter As New SqlDataAdapter(sqlSelect)
Dim myDataset As New DataSet()
sqlAdapter.Fill(myDataset)
sqlConn.Close()
Dim cascadingValues As New List(Of CascadingDropDownNameValue)()
For Each dRow As DataRow In myDataset.Tables(0).Rows
Dim CountryId As String = dRow("CountryId").ToString()
Dim CountryName As String = dRow("CountryName").ToString()
cascadingValues.Add(New CascadingDropDownNameValue(CountryName, CountryId))
Next
Return cascadingValues.ToArray()
End Function
End ClassThank you in advance for helping me out in double checking where is the error here.