加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何在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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读