From WebMethod , do not send the DataSet directly, send the XML ...
[System.Web.Services.WebMethod] public static string GetDropDownDataWM(string name) { DataSet ds = new DataSet(); ds.Tables.Add("Table0"); ds.Tables[0].Columns.Add("OptionValue"); ds.Tables[0].Columns.Add("OptionText"); ds.Tables[0].Rows.Add("0", "test 0"); ds.Tables[0].Rows.Add("1", "test 1"); ds.Tables[0].Rows.Add("2", "test 2"); ds.Tables[0].Rows.Add("3", "test 3"); ds.Tables[0].Rows.Add("4", "test 4"); return ds.GetXml(); }
Before calling Ajax ...
var myDropDownList = $('.myDropDownLisTId');
Try as shown below ... (inside an Ajax call)
success: function (response) { debugger; $(response.d).find('Table0').each(function () { var OptionValue = $(this).find('OptionValue').text(); var OptionText = $(this).find('OptionText').text(); var option = $("<option>" + OptionText + "</option>"); option.attr("value", OptionValue); myDropDownList.append(option); }); },
Note:
source share