使用jquery列出(Generic)
本文关键字:Generic 列出 jquery 使用 | 更新日期: 2023-09-27 17:59:58
我在asp.net项目中有一个webmethod,我想用jquery ajax方法传递一个listview,但我现在不知道如何检测listview的元素并使用它们。着色代码是我的c#代码。我需要jquery代码
if (ck != null)
{
reqnum[0, 0] = "@RequestingBranchID";
reqnum[0, 1] = ck["BranchID"];
reqnum[1, 0] = "@ProviderBranchID";
reqnum[1, 1] = customer.ToString();
DataTable dt = SqlCommands.FillData(out OutStatus, out OutMessage, "BSD.SW_Boxes_StockOfProviderAndRequestingBranch", CommandType.StoredProcedure, reqnum);
List<DataRow> rows = dt.Rows.Cast<DataRow>().ToList();
int x=rows.Count;
return rows;
}
好吧,假设您有一个DataTable
,并且您希望将该DataTable
的结果传递给一些JavaScript,以使用Ajax
显示结果。所以第一步是我们需要将这些结果转换为JSON格式。您可以使用以下方法::
public string GetJson(DataTable dt)
{
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
Dictionary<string, object> row = null;
foreach (DataRow dr in dt.Rows) {
row = new Dictionary<string, object>();
foreach (DataColumn col in dt.Columns) {
row.Add(col.ColumnName, dr[col]);
}
rows.Add(row);
}
return serializer.Serialize(rows);
}
下一步是用JavaScript解析结果JSON字符串,我想这是容易的部分。你可以检查这个问题来了解如何将JSON字符串解析为对象安全地将JSON字符串转换为对象。如果你想了解更多信息,请告诉我。
您可以使用JSON.NET将数据表序列化为JSON。然后使用ajax调用web方法。
在服务器端,
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string GetList(int branchID, string customer)
{
// do your code here
reqnum[0, 0] = "@RequestingBranchID";
reqnum[0, 1] = branchID;
reqnum[1, 0] = "@ProviderBranchID";
reqnum[1, 1] = customer;
DataTable dt = SqlCommands.FillData(out OutStatus, out OutMessage, "BSD.SW_Boxes_StockOfProviderAndRequestingBranch", CommandType.StoredProcedure, reqnum);
if(dt!=null)
{
return Newtonsoft.Json.JsonConvert.SerializeObject(dt);
}
else{
//return "[]";
}
}
然后在脚本中调用您的方法并传递该方法的参数。
$(function(){});
$('#myButton').click(function() {
$.ajax({
type: "POST",
url: "YourPage.aspx/GetList",
data: "{'branchID':" + branchID + ",'customer':" + customer + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var jsonResult = $.parseJSON(data.d);
// do your client side code here
}
});
});
});
注意:如果您没有在代码背后使用webservice/编写方法,请在类之前使用[ScriptService]
装饰器,并包含以下名称空间。
using System.Web.Script.Services;
using System.Web.Services;