Quantcast
Channel: ASP.NET AJAX + Ajax Control Toolkit (ACT)
Viewing all articles
Browse latest Browse all 5678

Cascading Dropdownlist not retreiving values

$
0
0

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 Class

Thank you in advance for  helping me out in double checking where is the error here.


Viewing all articles
Browse latest Browse all 5678

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>