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

    摆脱控件只要是借助于jquery的强大和web 服务(.service)和一般处理程序(.ashx),而达到更好的用户体验效果。当然,今天作为新手,暂时不考虑web服务和一般处理程序,而是先用.cs处理数据库数据。这个也是我第一次自己弄出来的,程序一开始用的是Repeater控件,而这里用的是IList,或者拼接html两种方法。因为我也是第一次做这种,所以只是简单的做了个显示数据,而没有修改添加那些,以后有机会一起补上。难免会有问题,大家多多指教。实例后面附上

    首先用IList循环输出数据:

    获得分页数据(DataSet类型)

    DataSet ds = bll.GetPageList(pagesize, page, "", "Id desc");
    

    转换成IList类型(这个步骤可以省略的,有个直接获取数据成IList类型的,因为我是直接从项目中提取的,就要转换下) 

    list = DataSetToIList(ds);
    

     DataSetToIList方法

    /// <summary>
            /// 把DataSet转换成IList<>
            /// </summary>
            /// <param name="ds"></param>
            /// <returns></returns>
            public static IList<MyWeb.Model.Contents> DataSetToIList(DataSet ds)
            {
                IList<MyWeb.Model.Contents> list = new List<MyWeb.Model.Contents>();
                for (int i=0;i<ds.Tables[0].Rows.Count;i++)
                {
                    MyWeb.Model.Contents model = (MyWeb.Model.Contents)Activator.CreateInstance(typeof(MyWeb.Model.Contents));
                    PropertyInfo[] properities = model.GetType().GetProperties();
                    //上面的这两句主要是获得model.name,model.name等的属性的。其中第一句也可以直接new  MyWeb.Model.Contents model
                    foreach (PropertyInfo item in properities)
                    {
                        for (int j = 0; j < ds.Tables[0].Columns.Count;j++ )
                        {
                            if(item.Name.Equals(ds.Tables[0].Columns[j].ColumnName))
                            {
                                if (ds.Tables[0].Rows[i][j]!=DBNull.Value)
                                {
                                    item.SetValue(model, ds.Tables[0].Rows[i][j], null);
                                }
                                else
                                {
                                    item.SetValue(model, null, null);
                                }
    
                            }
                        }
                    }
                    list.Add(model);
                }
                return list;
            }
    

     后台的.cs基本是这样了。

    注意的一点是list,pcount,page,pagesize都要声明称全局的,前台要调用到

    前台的主要代码是这个了

    <%  foreach (MyWeb.Model.Contents item in list)
              {
                  
               %>
            <tr class="tr_bg">
            <td align="center"><span class="checkall"><input type="checkbox"  id="rptList_ctl02_cb_id"></span></td>
            <td align="center"><span id="rptList_ctl02_lb_id"><%= item.Id %></span></td>
            <td><a href="Edit.aspx?id=<%= item.Id %>"><%= item.Title %></a></td>
            <td align="center"></td>
            <td align="center"><%= item.SortId %></td>
            <td align="center"><span><a href="edit.aspx?id=<%= item.Id %>">修改</a></span></td>
          </tr>
      <% } %>
    

     通过用foreach循环得到数据。

    注意的是分页js

    分页的div,直接复制,什么都不变

    <div id="Pagination" class="right flickr"></div>
    

     分页的js代码

    <script type="text/javascript">
            $(function() {
                //分页参数设置
                $("#Pagination").pagination(<%=pcount %>, {
                callback: pageselectCallback,
                prev_text: "« 上一页",
                next_text: "下一页 »",
                items_per_page:<%=pagesize %>,
    		    num_display_entries:3,
    		    current_page:<%=page %>,
    		    num_edge_entries:2,
    		    link_to:"?page=__id__"
               });
            });
            function pageselectCallback(page_id, jq) {
               //alert(page_id); 回调函数,进一步使用请参阅说明文档
            }
            </script>
    

     分页还要引用js。

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

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

  • 相关阅读:
    几张图就把 Kubernetes Service 掰扯清楚了
    一文读懂 Kubernetes APIServer 原理
    K8S调度系统由浅入深系列:简介
    K8S蓝绿部署:Blue/Green Deployments on Kubernetes
    K8s Nginx Ingress 介绍
    探索 Kubernetes HPA
    [译]走进Kubernetes集群的大脑:Etcd
    AIX文件系统大小限制调整(转)
    修改SSH服务监听端口,引起服务启动失败原因分析
    Docker-compos部署nextcloud私有网盘
  • 原文地址:https://www.cnblogs.com/fengkuangkg/p/2995650.html
Copyright © 2011-2022 走看看