在ASP.NET C#中从Datatable返回值(所有字段)到AJAX [英] Returning Value(all fields) from Datatable to AJAX in ASP.NET C#

查看:102
本文介绍了在ASP.NET C#中从Datatable返回值(所有字段)到AJAX的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在网上搜索了所有内容,但找不到答案,也许你们可以帮忙.我是ASP.NET C#的新手

I've searched all over the net but I didn't find the answer maybe you guys can help. I am new to ASP.NET C#

我的aspx.cs代码

My aspx.cs code

[WebMethod]
[ScriptMethod]
public static string GetData(int ID)
{
    string SQL = "Select ID, FirstName, MiddleName, LastName from tbl_demo1 where ID = '" + ID + "'";
    DataTable dt = new DataTable();
    SqlDataAdapter da = new SqlDataAdapter(SQL, cn);
    da.Fill(dt);
    if(dt.Rows.Count > 0)
    {
        return dt.Rows[0].ItemArray[0].ToString();
    }
    return "";
}

问题:在这一部分

return dt.Rows[0].ItemArray[0].ToString();

在这一部分中,我想返回所有字段(ID,FirstName,MiddleName,LastName)..我该怎么做?

In this part I want to return all fields(ID, FirstName, MiddleName, LastName) .. How would I do it?

推荐答案

以下是您要求的代码部分:

Here is the part of code that you asked:

if (dt.Rows.Count > 0)
{
   DataRow row = dt.Rows[0];
   string str = row["ID"].ToString() + row["FirstName"].ToString() + row["MiddleName"].ToString() + row["LastName"].ToString();
   return str;
}

如果您想将其作为KVP数组返回,请使用以下内容

If you want to return it as an KVP array, use like below

SortedList<string, string> rowObj = new SortedList<string, string>();
rowObj.Add("ID", row["ID"].ToString());
rowObj.Add("FirstName", row["FirstName"].ToString());
rowObj.Add("MiddleName", row["MiddleName"].ToString());
rowObj.Add("LastName", row["LastName"].ToString());
return (new JavaScriptSerializer().Serialize(rowObj));

可以使用jQuery调用:

Can be called using jQuery:

jQuery.ajax({
    type: "POST",
    url: "YourFileService.asmx/GetData",
    data: "{'ID':" + ID + "}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data) {
        if (typeof data.d != "undefined") {
            var res = JSON.parse(data.d);
            alert(res.FirstName)
        } else {
            if (window.console) {
                console.log('Unknown error,');
            }
        }
    },
    error: function (xhr, errorType, exception) {
        //raise an error
        alert(xhr.responseText);
    },
    failure: function (response) {
        //failure, raise an error
        alert(response.responseText);
    }
});

这篇关于在ASP.NET C#中从Datatable返回值(所有字段)到AJAX的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆