我是JSON的新手.我创建了一个示例,它从WebMethod返回String并将返回的值赋给asp.net Label控件.
示例JSON返回String:
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server"> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $.ajax({ type: "POST",contentType: "application/json; charset=utf-8",url: "JSONSample.aspx/DisplayData",data: "{}",dataType: "json",success: function(data) { //alert("hi"); $("#ctl00_MainContent_lbltxt").text(data.d); },error: function(result) { alert("Error"); } }); }); </script> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server"> <label id="lbltxt" runat="server"></label> </asp:Content>
在.cs文件中(返回String):
[WebMethod] public static string DisplayData() { return DateTime.Now.ToString(); }
这很好用.
如何使用JSON和JQuery访问DataTable?
[WebMethod] public static DataTable DisplayData() { DataTable dt = new DataTable(); return dt.GetData(); }
我想返回DataTable并使用JSON& amp;绑定GridView / Access DataTable的每一行. JQuery的.请建议我使用JSON返回DataTable的正确方法.
我看过一些使用处理程序和示例的示例一些使用WebMethod的示例.哪一个使用?
一个是另一个有什么好处.
帮助感谢!
解决方法
这是我通常的做法.我将数据表内容加载到字典中,序列化它,一切正常.您可以修改代码以满足您的需求.
[WebMethod] public string GetQueryInfo() { String daresult = null; DataTable yourDatable = new DataTable(); DataSet ds = new DataSet(); ds.Tables.Add(yourDataTable); daresult = DataSetToJSON(ds); return daresult; } public string DataSetToJSON(DataSet ds) { Dictionary<string,object> dict = new Dictionary<string,object>(); foreach (DataTable dt in ds.Tables) { object[] arr = new object[dt.Rows.Count + 1]; for (int i = 0; i <= dt.Rows.Count - 1; i++) { arr[i] = dt.Rows[i].ItemArray; } dict.Add(dt.TableName,arr); } JavaScriptSerializer json = new JavaScriptSerializer(); return json.Serialize(dict); }
在你的aspx上.
$.ajax({ type: "POST",url: 'Webservices/GetQueryInfo',data: {},dataType: 'json',success: function (data) { var objdata = $.parseJSON(data.d); // now iterate through this object's contents and load your gridview } });
有很多关于如何使用java脚本或jquery加载网格视图的教程.这至少会给你一个起点.你可以找到一个很好的例子here.To做gridview的grid操作见链接here