How To Bind Dropdownlist In ASP.NET Using Jquery Or JSON

Bind drop down by asp.net using jquery or JSON and web service.
  1. <asp:DropDownList ID="ddl_country" runat="server"></asp:DropDownList> $(function ()   
  2. {   
  3.   BindCountry();   
  4. });  
=================Bind country by ajax=============
  1. function BindCountry()   
  2. {  
  3.     $.ajax({  
  4.         type: "POST",  
  5.         url: "../WebService/MeService.asmx/BindCountry",  
  6.         contentType: "application/json; charset=utf-8",  
  7.         data: "{ }",  
  8.         dataType: "json",  
  9.         success: function(Result) {  
  10.             var FResult = JSON.parse(Result);  
  11.             $("#<%= ddl_country.ClientID %>").append("<option value='0'>-Select One-</option>");  
  12.             for (var i = 0; i < FResult.length; i++) {  
  13.                 $("#<%= ddl_country.ClientID %>").append($("<option></option>").val(FResult[i].Country_Id_Pk).html(FResult[i].Country_Name));  
  14.             }  
  15.         }  
  16.     });  
  17. }  
=============================WebMethod====================
  1. [WebMethod]  
  2. public string BindCountry()  
  3. {  
  4.     string output = "";  
  5.     SqlCommand cmd3;  
  6.     cmd3 = new SqlCommand("WOPS_SP_COUNTRY_STATE_CITY_new", clscode.connect());  
  7.     cmd3.CommandType = CommandType.StoredProcedure;  
  8.     cmd3.Parameters.Add(new SqlParameter("@callval", SqlDbType.Int)).Value = 19;  
  9.     SqlDataAdapter da3 = new SqlDataAdapter(cmd3);  
  10.     DataSet ds3 = new DataSet();  
  11.     da3.Fill(ds3);  
  12.     DataTable dt = ds3.Tables[0];  
  13.     output = ConvertDataTabletoString(dt); // Now Convert Data Table to String  
  14.     return output;  
  15. }  
=====================Now Convert Data Table to String =========================
  1. public string ConvertDataTabletoString(DataTable dt)  
  2. {  
  3.     System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();  
  4.     List < Dictionary < stringobject >> rows = new List < Dictionary < stringobject >> ();  
  5.     Dictionary < stringobject > row;  
  6.     foreach(DataRow dr in dt.Rows) {  
  7.         row = new Dictionary < stringobject > ();  
  8.         foreach(DataColumn col in dt.Columns) {  
  9.             row.Add(col.ColumnName, dr[col]);  
  10.         }  
  11.         rows.Add(row);  
  12.     }  
  13.     return serializer.Serialize(rows);  
  14. }