javascript读取datatable的数据

新手写了一篇文章,有误见谅!!

后台代码是C#的


1,首先 , 写一个将datatable里面的记录转化为 json串的函数:

public string ConvertDataTableToJson(DataTable dt)
        {
            StringBuilder sbs = new StringBuilder();
            if (dt.Rows.Count > 0)//如果有记录
            {
                sbs.Append("{'" + dt.TableName + "':[");
                string str = "";
                foreach (DataRow dr in dt.Rows)//开始拼
                {
                    string result = "";
                    foreach (DataColumn dc in dt.Columns)
                    {
                        result += string.Format(",'{0}':'{1}'", 
                            dc.ColumnName, dr[dc.ColumnName]);
                    }
                    result = result.Substring(1);
                    result = ",{" + result + "}";
                    str += result;
                }
                str = str.Substring(1);
                sbs.Append(str);
                sbs.Append("]}");
            }
            else//如果没有记录
            {
                sbs.Append("");
            }
            return sbs.ToString();
        }

打个比方:我有一个表叫做goods,里面有三列:goodsName  ,   goodsPrice ,   goodsNumber ,并且有一些点记录,把这些记录转化为json串之后就可以直接给前台的javascript调用了,返回的josn串大概是:

{'goods':[{'goodsName':'马铃薯','goodsPrice':'12.0000','goodsNumber':'5'},{'goodsName':'AfD','goodsPrice':'23.0000','goodsNumber':'6'}]}



2,写一个函数将你要用的表转成json串,比如:

 public string ConvertGoodsToJson()
        {
            DataTable dt =//你的table,注意一定要有名字
            return ConvertDataTableToJson(dt);
        }

这个函数就是给前台调用的 <%=ConvertTbGoodsToJson()%>

并且你的table一定要有名字,因为上面的转化函数是要tableName的


3,前台代码如下

<head runat="server">
    <title>测试</title>
    <script type="text/javascript">
        function show() {
            var json = <%=ConvertTbGoodsToJson() %> ;
            json = eval (json.goods);
            for (var i =0 ; i<json.length ; i++)
            {
                alert(json[i].goodsName);
            }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="Button1" type="button" value="button" οnclick="show()" />
    </div>
    </form>
</body>

注意的是  json.goods的意思表面叫做goods(不同的表有不同的名字)

for语句是遍历

json[i].goodsName就是列名为goodsName的值


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值