![](/img/trans.png)
[英]Bind GridView With Database In MVC 5 In C# and i have ajax JavaScript
[英]'undefined' reported when bind gridview using AJAX in C#
我想使用AJAX綁定gridview。 因此,為此,我使用AJAX和服務器端代碼作為網絡方法來完成客戶端代碼。
即使當時我以成功的方法向數據發出警報,一切也都正常,但仍在顯示數據,但在循環中,我真的很困惑,它在警報中顯示未定義。 因此,這就是網格未綁定的原因。
這是我的代碼
$.ajax({
type: "POST",
url: "schoolregistration.aspx/GetGridData",
contentType: "application/json; charset=utf-8",
datatype: "json",
success: function (data) {
for (var i = 0; i < data.d.length; i++) {
$("#grid_schooldata").append("<tr><td>" + data.d[i].schoolName);
}
},
failure: function () {
alert("error! try again...");
}
});
using (var con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
using (var cmd = new SqlCommand("select schoolname as [School Name] from tbl_schoolregistration", con))
{
con.Open();
object val = cmd.ExecuteScalar();
return val == DBNull.Value ? "" : (string)val;
}
首先
ExecuteScalar
執行查詢,並返回查詢返回的結果集中第一行的第一列。 其他列或行將被忽略。
在這種情況下,您將只有一個string
。
其次要注意在查詢的名稱把它作為schoolname
不[School Name]
。
然后,您必須Serialize
化為json並再次parse
為json才能遍歷對象。
這是完整的工作代碼:
$.ajax({
type: "POST",
url: "schoolregistration.aspx/GetGridData",
contentType: "application/json; charset=utf-8",
datatype: "json",
success: function (data) {
data = JSON.parse(data.d);
for (var i = 0; i < data.length; i++) {
$("#grid_schooldata").append("<tr><td>" + data[i].schoolname +"</td></tr>");
}
},
failure: function () {
alert("error! try again...");
}
});
[WebMethod]
public static string GetGridData()
{
using (var con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
using (var cmd = new SqlCommand("select schoolname from tbl_schoolregistration", con))
{
con.Open();
//object val = cmd.ExecuteScalar();
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adp.Fill(dt); // fills data from select query
// return val == DBNull.Value ? "" : (string)val;
return JsonConvert.SerializeObject(dt);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.