c# - 是否可以从 web 方法返回一个列表 <string> 并传递返回值以使用 jquery 绑定(bind)一个 html 选择?

标签 c# jquery asp.net ajax

我试图绑定(bind)一个 html 选择,我为此编写了一个 web 方法,它返回一个列表。我如何使用此返回值使用 jquery 绑定(bind)我的选择控件....?我卡住了...代码附在此处:

function columnDropdownScript() {
  var reqTableNameParameter = "Designation";  //$('#ddlTableNames').text;
  var requestTableParameters = '{' +
                        'selTableName:"' + reqTableNameParameter + '"}';
  // Configure AJAX call to server                        
  $.ajax({
    type: "POST",
    url: "Webtop.aspx/FillColumnDropdown",
    data: requestTableParameters,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: DisplayColumnNames, //Event that'll be fired on Success
    error: DisplayError //Event that'll be fired on Error
  });

}
function DisplayColumnNames(serverResponse) {

  $("#ddlColumnNames").get(0).options.length = 0;
  $("#ddlColumnNames").get(0).options[0] = new Option("Select", "-1");
  $.each(serverResponse.d, function(index, item) {
    $("#ddlColumnNames").get(0).options[$("#ddlColumnNames").get(0).options.length] = new Option(item.Display, item.Value);
  });
  alert('Check Column DropDown');
}




 [WebMethod]
    public static List<string> FillColumnDropdown(string selTableName)
    {
        int x=1;
        string selectedTable = selTableName;
        List<string> columnsToBind = new List<string>();
        foreach (Columns column in Metadata.columnsOfSelectedTables)
        {
            if (column.TableName.Equals(selectedTable))
            {
                columnsToBind.Add(column.ColumnName);
            }
        }
       return columnsToBind;
    }

最佳答案

//我还没有测试过这个,但在我的脑海中,这应该可以解决问题 //(注意,这是附加到列表中。如果多次调用,您可能需要清除)

$.ajax({
    type: "POST",
    url: "Webtop.aspx/FillColumnDropdown",
    data: requestTableParameters,
    //contentType: "plain/text",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
        for (var i = 0, l = msg.length; i < l; i++) {
            $("#the_selectbox").append("<option>" + msg.d[i] + "</option>");
        }
    },
    error: DisplayError //Event that'll be fired on Error
  });

关于c# - 是否可以从 web 方法返回一个列表 <string> 并传递返回值以使用 jquery 绑定(bind)一个 html 选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5813337/

相关文章:

jquery - 带有图像的 Bootstrap 时间轴

asp.net - Google Analytics V3 ASP.Net API beta 1.5 OAuth2错误

c# - C# 自动属性何时初始化?

c# - RESTful WCF Web 服务 POST 问题

c# - 即使成功采用了路径,图像也不会显示-MVVM WPF

javascript - jQuery 如果集合中的任何项目的 data-id 等于 foo

jquery - 如何在 Rails 4(使用 jquery)中上传多个文件?

asp.net - 如何更改 asp.net identity 3 (vnext) 使用的表名?

c# - MVC 2.0 中的绑定(bind)下拉列表

c# - 在 Monogame 中排序对象