Skip to main content

JSON/Jquery to get data from webservice and add webservice data to Dropdownlist in asp.net

WEB SERVICE :First make web method on cs page .

 [WebMethod]
    public static List<getdisttdata> getdisttt(string prefixText)
    {
        List<getdisttdata> li = new List<getdisttdata>();
        try
        {
            if (connection.State == ConnectionState.Closed)
                connection.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "Your Query";
            cmd.Connection = connection;
            cmd.CommandType = CommandType.Text;
            SqlDataAdapter adp = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            adp.Fill(ds);
            connection.Close();
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                getdisttdata bkl = new getdisttdata();
                bkl.distt = dr["District"].ToString();
                bkl.disttcode = dr["CityCode"].ToString();
                li.Add(bkl);
            }

        }
        catch (Exception ex)
        {
            //  return null;
        }
        return li;
    }


  public class getdisttdata
    {
        private string _distt;
        private string _disttcode;
        public string distt
        {
            get
            {
                return _distt;
            }
            set
            {
                _distt = value;
            }
        }
        public string disttcode
        {
            get
            {
                return _disttcode;
            }
            set
            {
                _disttcode = value;
            }
        }

    }




Then add below Code in Aspx page.

 function getdistt() {

            var statecod = $("#<%=Your control on whom to call this function %>").val();
            $.ajax({
                type: "POST",
                url: "aspx page name/webmethod created above (getdistt)",
                contentType: "application/json; charset=utf-8",
                data: JSON.stringify({ prefixText: statecod }),
                dataType: "json",
                success: function (response) {
                    $("#ctl00_ContentPlaceHolder1_ddlPDistt").find('option').remove().end();
                   // to remove already added items in dropdown
                    var teams = response;

// loop to add items in dropdownlist
                    for (var i = 0; i < teams.length; i++) {
                        statename = teams[i].distt;
                        stateid = teams[i].disttcode;
                        $('<option value="' + stateid + '">' + statename + '</option>').appendTo("#ctl00_ContentPlaceHolder1_ddlPDistt");
                    }
                    $("#<%=hdnstate.ClientID %>").val($("#<%=ddlPState.ClientID %>").val());
                    $("#<%=hdncountry.ClientID %>").val($("#<%=ddlPCountry.ClientID %>").val());
                    if ($("#<%=hdndistt.ClientID %>").val() != "" && check == 'F') {
                        $("#<%=ddlPDistt.ClientID %>").val($("#<%=hdndistt.ClientID %>").val());
                     
                    }

                }
            })
        }


DropDownList on which this function is called

  <asp:DropDownList ID="ddlPDistt" runat="server"  DataSourceID="sqlPDistt"
                                                        TabIndex='1' Width='255px' DataTextField="District" DataValueField="CityCode" onblur="gettown()">
                                                    </asp:DropDownList>

Comments