在 ASP.NET C# 中从 Datatable 返回值(所有字段)到 AJAX
Returning Value(all fields) from Datatable to AJAX in ASP.NET C#
我在网上搜索过,但没有找到答案,也许你们可以提供帮助。我是 ASP.NET C#
的新手
我的aspx.cs代码
[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();
在这部分我想return所有字段(ID、FirstName、MiddleName、LastName)..我该怎么做?
这是您要求的代码部分:
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;
}
如果你想return它作为一个KVP阵列,使用如下
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调用:
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#
的新手我的aspx.cs代码
[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();
在这部分我想return所有字段(ID、FirstName、MiddleName、LastName)..我该怎么做?
这是您要求的代码部分:
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;
}
如果你想return它作为一个KVP阵列,使用如下
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调用:
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);
}
});