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

Help on cascading dropdownlist using ajax

$
0
0

Hi Pls I av been working on cascading a dropdownlist with ajax but the issue is I have completely finished with my coding, passing parameters, but the isue is that when ever I run my Webservices, and I invoked my bind state and City, it tels me thatvalue cannot be null.

here is my code:

public class WebService : System.Web.Services.WebService {
     SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnectStrings"].ConnectionString);
   // Bind Archive
    [WebMethod]
    public CascadingDropDownNameValue[] BindArchive(string knownCategoryValues, string category) 
    {
       DataSet ds = new DataSet();
        conn.Open();//select * from [ST-Dep]
        SqlCommand cmd = new SqlCommand("select distinct empd.arc, empc.EmpCategoryId,empc.EmpCategoryName from Doc empd INNER JOIN EmpCategory empc On empd.arc = empc.EmpCategoryId", conn);
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        cmd.ExecuteNonQuery();
        adp.Fill(ds);
        conn.Close();

        List<CascadingDropDownNameValue> ArchiveDetails = new List<CascadingDropDownNameValue> ();
        foreach (DataRow Dr in ds.Tables[0].Rows)
        {
            string ArcID = Dr["arc"].ToString();
            string ArcName = Dr["EmpCategoryName"].ToString();

            ArchiveDetails.Add(new CascadingDropDownNameValue(ArcName, ArcID));

    }
    return ArchiveDetails.ToArray();
}
    //Folder
    [WebMethod]
    public CascadingDropDownNameValue[] BindFolder(string knownCategoryValues, string category)
    {
    DataSet ds = new DataSet();
    char ArcID;
    StringDictionary ArchiveDetails = AjaxControlToolkit.CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);
    ArcID = Convert.ToChar(ArchiveDetails["arc"]);
    conn.Open();//SELECT  * From [ST-Dep] where DepId=@DepId
    SqlCommand cmd = new SqlCommand("select distinct empd.folder,dep.DepId,dep.DepName From Doc empd INNER JOIN [ST-Dep] dep ON empd.folder = dep.DepId where empd.archive= @DepId ", conn);
    cmd.Parameters.AddWithValue("@DepId", ArcID);
    cmd.ExecuteNonQuery();
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        adp.Fill(ds);
        conn.Close();
         List<CascadingDropDownNameValue> FolderDetails = new List<CascadingDropDownNameValue> ();
        foreach (DataRow Dr in ds.Tables[0].Rows)
        {
            string FolderID = Dr["folder"].ToString();
            string FolderName = Dr["DepName"].ToString();
            FolderDetails.Add(new CascadingDropDownNameValue(FolderName, FolderID));
        }
        return FolderDetails.ToArray();
        }
    //SubFolder bind
    [WebMethod]
    public CascadingDropDownNameValue[] BinSubfolder(string knownCategoryValues, string category)
    {
        DataSet ds = new DataSet();
        char FolderID;
        StringDictionary folderdetails = AjaxControlToolkit.CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);
        FolderID = Convert.ToChar(folderdetails["DepName"]);
        conn.Open();//Select * From Doc where folder = @Folder
        SqlCommand cmd = new SqlCommand("select distinct empd.subfolder, trad.TradeId, trad.TradeName From Doc empd INNER JOIN [Trade] trad ON empd.subfolder = trad.TradeId where (empd.folder = @Folder)", conn);
        cmd.Parameters.AddWithValue("@Folder", FolderID);
        cmd.ExecuteNonQuery();
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        adp.Fill(ds);
        conn.Close();
        List<CascadingDropDownNameValue> SubFoldetails = new List<CascadingDropDownNameValue>();
        foreach (DataRow dr in ds.Tables[0].Rows)
        {
            string SubFolID = dr["subfolder"].ToString();
            string subFolName = dr["TradeName"].ToString(); 
SubFoldetails.Add(new CascadingDropDownNameValue(subFolName, SubFolID)); } return SubFoldetails.ToArray(); } }

and Here is my Category in my CASCADINGDROPDOWN
<asp:CascadingDropDown ID="ccarchive" runat="server" Category="arc" TargetControlID="ddarchive" LoadingText="Loading Archives.." PromptText="Select Archive" ServiceMethod="BindArchive" ServicePath="~/WebService.asmx"   /><asp:CascadingDropDown ID="ccFolder" runat="server" Category="DepId" TargetControlID="ddFolder" ParentControlID="ddarchive" LoadingText="Loading Folders.." PromptText="Select Folder" ServiceMethod="BindFolder" ServicePath="~/WebService.asmx" /><asp:CascadingDropDown ID="ccSubfolder" runat="server" Category ="TradeId"  TargetControlID ="ddSubfolder" ParentControlID ="ddFolder" LoadingText="Loading SubFolders" PromptText ="Select SubFolder" ServiceMethod="BindSubfolder" ServicePath="~/WebService.asmx"/>  

Ps can som1 elp me out with what might av been causing it to retun a null value

Thanks


Viewing all articles
Browse latest Browse all 5678

Trending Articles



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