【问题标题】:Call Webmethod to Fill DropDownList调用 Web 方法填充 DropDownList
【发布时间】:2021-11-03 00:15:45
【问题描述】:

我想通过 webmethod 中的 SqlQuery 填充 DropDownList。但它给出了内部服务器错误。 除了错误,我不能只在javascript中执行此操作吗?

function doldur() {
    $.ajax({
        url: "UserServis.asmx/ListDoldur",
        type: "post",
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: "{ 'sysName': 'Sudio', 'categoryID': " + 544 + " }",
        success: function (data) {
            var result = data.d;
            alert(result);
        },
        error: function (requeset, status, error) {
            alert(error);
        }
    });
}
 [WebMethod(EnableSession = true)]
    public static List<string> ListDoldur()
    {
        List<string> retList = new List<string>();
        SqlConnection baglanti = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ConnLEO"].ConnectionString);
        SqlCommand komut = new SqlCommand("select BolumAdi from emre_bolumler ", baglanti);
        SqlDataAdapter da;
        DataSet ds;
        DataTable dt;
        baglanti.Open();
        da = new SqlDataAdapter(komut);
        ds = new DataSet();
        da.Fill(ds,"TestTable");
        dt = ds.Tables["TestTable"];
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            retList.Add(dt.Rows[i].ItemArray[0].ToString());
        }
        return retList;

    }

【问题讨论】:

    标签: javascript asp.net asmx webmethod


    【解决方案1】:

    是的,你可以。

    • 您正在向代码隐藏方法发送数据,但它没有接受数据的参数;
    • 我认为最简单的方法是序列化您的数据表并返回 JSON 字符串,而不是 List&lt;string&gt;(也许您可以这样做 return retList.ToArray()?不确定);
    • 跳过数据集,只使用一个表。我不完全确定循环发生了什么,但我认为当您序列化数据时,您不必这样做(除非您要避免大量列)。
    using Newtonsoft.Json;
    
    // convert datatable to a string.
    string result = JsonConvert.SerializeObject(tbl);
    
    • 当数据返回到 ajax 方法时,创建下拉选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多