zoukankan      html  css  js  c++  java
  • 摆脱控件之新手2

    上一篇说了用IList显示了表格数据,其实从某种说法上并不是很好的摆脱,这篇主要是用jq的each循环输出

    思路是:获取数据,当然我的还是DataSet,需要转换(输出json数据,不知大家有什么好的方法介绍),之后由一个全局变量输出到前台的一个隐藏的input中,然后jq获取这个input操作,循环输出。

    后台.cs

    DataSet ds = bll.GetPageList(pagesize, page, "", "Id desc");
    
    //dataset.table[0]转换成json数据
    JsonText = DataTableToJson(ds.Tables[0]);
    

     DataTableToJson方法

    public static string DataTableToJson(DataTable table)
    {
           JavaScriptSerializer Js = new JavaScriptSerializer();
            ArrayList aList = new ArrayList();
            foreach (DataRow row in table.Rows)
            {
                    Dictionary<string, object> drow = new Dictionary<string, object>();
                    foreach (DataColumn column in table.Columns)
                    {
                        drow.Add(column.ColumnName,row[column.ColumnName]);
                    }
                    aList.Add(drow);
            }
             return Js.Serialize(aList);
    }
    

     前台的

    隐藏的input

    <input id="Json" value='<% =JsonText %>' type="hidden" />
    

     这里有个问题:value="<% =JsonText %>"这个地方奇怪,有时是(''),但是有时需要(""),知道原因的可以说下

    之后的就是jq操作获取到的json数据了

    <script type="text/javascript">
                $(function() {
                    //获得后台传过来的值
                    var json = $("#Json").val();
                    //转换成Jquery对象,用each方法
                    var $json = JSON.parse(json);
                    $.each($json, function() {
                    var Thehtml = "<tr class=\"tr_bg\">";
                    Thehtml += "<td align=\"center\"><span class=\"checkall\"><input type=\"checkbox\"  id=\"rptList_ctl02_cb_id\"></span></td>";
                    Thehtml += "<td align=\"center\"><span id=\"rptList_ctl02_lb_id\">" + this["Id"] + "</span></td>";
                    Thehtml += "<td><a href=\"Edit.aspx?id=" + this["Id"] + "\">" + this["Title"] + "</a></td>";
                    Thehtml += "<td align=\"center\"></td>";
                    Thehtml += "<td align=\"center\">" + this["SortId"] + "</td>";
                    Thehtml += "<td align=\"center\"><span><a href=\"edit.aspx?id=" + this["Id"] + "\">修改</a></span></td>";
                    Thehtml += "</tr>";
                    $("table tbody").append(Thehtml); 
                    })
                })
    </script>
    

     这里要说的是,贴出的并不是完整代码,只是一种思路,要完整代码可以下载源码查看

    源码下载(数据库可以自动附加,不用手动附加的vs2008,sql2005)

  • 相关阅读:
    二次剩余
    【2020.9.29 NOIP模拟赛 T3】寻梦(fantasy)
    Graph and Queries
    势函数和鞅的停时定理学习笔记
    毒瘤计数题汇总
    2-SAT
    CF559E Gerald and Path
    [SDOI2019]世界地图
    CF1349D Slime and Biscuits
    AT4928 [AGC033E] Go around a Circle
  • 原文地址:https://www.cnblogs.com/fengkuangkg/p/2995728.html
Copyright © 2011-2022 走看看