如何在asp.net中使用JSON和JQuery从WebMethod返回DataTable?
发布时间:2020-12-16 00:15:19 所属栏目:asp.Net 来源:网络整理
导读:我是JSON的新手.我创建了一个示例,它从WebMethod返回String并将返回的值赋给asp.net Label控件. 示例JSON返回String: asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server"script type="text/javascript" src="http://ajax.google
我是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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 深入理解C# 3.x的新特性(2):Extension Method[上篇]
- asp.net – Visual Studio总是打开网站而不是编辑的网页
- 运行命令(CMD)大全
- asp.net-mvc – 如何在ASP.NET MVC 3中更新复杂模型
- asp.net-mvc-3 – 在MVC 3的AuthorizeAttribute中获取模型数
- Cannot access a disposed object in ASP.NET Core
- asp.net – Application_Error – GetLastError()或GetLast
- viewbag
- asp.net-web-api – 如何在Web Api调用期间获取用户上下文?
- ASP.NET MVC全能路由
推荐文章
站长推荐
- asp.net – Visual Studio 2010调试速度慢
- asp.net – 编译器失败,错误代码为-1073741819
- 来自ASP.NET的SVN信息:’无法确定用户的配置路径
- asp.net-mvc – 405消息,Web Api不允许的方法
- asp.net-mvc-3 – 如何在自定义编辑器模板中获取
- 有没有人对ASP.NET WebFormsMVP有所了解?
- ASP.NET Core远程调试
- ASP.NET MVC下自定义错误页和展示错误页的方式
- asp.net-mvc-3 – Orchard CMS DataAnnotations
- asp.net – 将Windows身份验证与表单身份验证混合
热点阅读