一句话轻松搞定asp.net分页_实用技巧

rows 是客户端传过来的行数,page是页码,传参就需要就两个参数就行,sql语句中_row 和_page 自己声明的局部变量,值还是相应的row 和page ,为了运算而已。

用数据库类获得它的DataTable,转换为json格式通过一般处理程序传到客户端,客户端显示就ok了。这里我使用的是easyui datagrid进行接收和传参。这是大体的思路。

string sql = "select top " + rows + " * from TestData where testID not in(select top " + (_rows * (_page - 1)) + " testID from TestData order by testID desc) order by testID desc";

//DataTable 转换成json,这里带了“total”,传给客户端的数据总数,不传这个,客户端不会显示总数据是多少条多少条的。
public static string CreateJsonParameters(DataTable dt, bool displayCount, int totalcount)
    {
      StringBuilder JsonString = new StringBuilder();
      //Exception Handling
      if (dt != null)
      {
        JsonString.Append("{ ");
        if (displayCount)
        {
          JsonString.Append("\"total\":");
          JsonString.Append(totalcount);
          JsonString.Append(",");
        }
        JsonString.Append("\"rows\":[ ");
        for (int i = 0; i < dt.Rows.Count; i++)
        {
          JsonString.Append("{ ");
          for (int j = 0; j < dt.Columns.Count; j++)
          {
            if (j < dt.Columns.Count - 1)
            {
              //if (dt.Rows[i][j] == DBNull.Value) continue;
              if (dt.Columns[j].DataType == typeof(bool))
              {
                JsonString.Append("\"" + dt.Columns[j].ColumnName + "\":" +
                         dt.Rows[i][j].ToString().ToLower() + ",");
              }
              else if (dt.Columns[j].DataType == typeof(string))
              {
                JsonString.Append("\"" + dt.Columns[j].ColumnName + "\":" + "\"" +
                         dt.Rows[i][j].ToString().Replace("\"", "\\\"") + "\",");
              }
              else
              {
                JsonString.Append("\"" + dt.Columns[j].ColumnName + "\":" + "\"" + dt.Rows[i][j] + "\",");
              }
            }
            else if (j == dt.Columns.Count - 1)
            {
              //if (dt.Rows[i][j] == DBNull.Value) continue;
              if (dt.Columns[j].DataType == typeof(bool))
              {
                JsonString.Append("\"" + dt.Columns[j].ColumnName + "\":" +
                         dt.Rows[i][j].ToString());
              }
              else if (dt.Columns[j].DataType == typeof(string))
              {
                JsonString.Append("\"" + dt.Columns[j].ColumnName + "\":" + "\"" +
                         dt.Rows[i][j].ToString().Replace("\"", "\\\"") + "\"");
              }
              else
              {
                JsonString.Append("\"" + dt.Columns[j].ColumnName+ "\":" + "\"" + dt.Rows[i][j] + "\"");
              }
            }
          }
          /*end Of String*/
          if (i == dt.Rows.Count - 1)
          {
            JsonString.Append("} ");
          }
          else
          {
            JsonString.Append("}, ");
          }
        }
        JsonString.Append("]");
        JsonString.Append("}");
        return JsonString.ToString().Replace("\n", "");
      }
      else
      {
        return null;
      }
    }

以上就是本文的全部内容,希望对大家的学习有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索asp.net
分页
,以便于您获取更多的相关知识。

时间: 2024-10-20 04:13:28

一句话轻松搞定asp.net分页_实用技巧的相关文章

轻松搞定js表单验证_javascript技巧

先看看效果图: html: 引入 <script src="/Scripts/jquery-1.10.2.js"></script> <script src="/Scripts/Validate-1.0.1.js"></script> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head ru

asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页_实用技巧

ListView控件本身并没有分页功能,不过借助于ASP.NET中新增加的DataPager控件,我们可以非常方便地对ListView中的数据设置分页,这几乎不需要开发人员写一行代码,将ListView控件放到页面上,设置好布局和DataSource,然后再添加一个DataPager控件,将它的PagedControlID属性设置成ListView的ID,PageSize中设置每页要显示的数据条数,然后在Fields中设置好分页的样式(当然你完全可以不用去管样式,ASP.NET会根据内置的样式来

ASP.Net2.0 GridView 多列排序,显示排序图标,分页_实用技巧

    最近在使用ASP.net 2.0的GridView 控件时,发现排序与分页功能Microsoft实现的都很简单,比如排序,在点击列名的时候来触发整页的PostBack,然后排序,但是在列头上没有一个显示升序降序的图标,这会让最终用户使用时很迷惑,因为不知道是升序了还是降序了,所以今天首先解决的第一问题就是升序降序在列上显示图标,第二要解决的问题是默认GridView按列排序只能排一列的,也就是不能进行多列排序,而在实际应用中仅仅按照一列来排序是不能满足业务需求的,第三是GridView

asp.net使用AJAX实现无刷新分页_实用技巧

查询功能是开发中最重要的一个功能,大量数据的显示,我们用的最多的就是分页. 在ASP.NET 中有很多数据展现的控件,比如Repeater.GridView,用的最多的GridView,它同时也自带了分页的功能.但是我们知道用GridView来显示数据,如果没有禁用ViewState,页面的大小会是非常的大的.而且平时我们点击首页,下一页,上一页,尾页这些功能都是会引起页面回发的,也就是需要完全跟服务器进行交互,来回响应的时间,传输的数据量都是很大的. AJAX的分页可以很好的解决这些问题. 数

asp.net 动态表单之数据分页_实用技巧

但是问题来了,不同科系的同学的科目是不一样的,那么我们在数据库设计的时候通常是把学生.某科成绩作为一条记录,那么这个时候我们就需要做一个行转列的逻辑处理了. 解决方法: 使用GridView来生成表单,这个实现起来会比较麻烦,如果要在列表里面显示链接就更不可能了: 生成html再输出到页面中,这个实现起来比较灵活.方便: 基本功能点: 动态生成表头: 数据进行分页: 查询数据: 对每个成绩进行超链接,查看明细:  页面代码 复制代码 代码如下: <div id="dataDiv1"

asp.net中让Repeater和GridView支持DataPager分页_实用技巧

改造办法是自己写一个控件,让它继承GridView或Repeater,并实现IPageableItemContainer 接口.下面要发的是国外某高手写的代码,测试有效.具体使用的时候,要建一个类库项目,把代码编译成dll后,就可以添加到VS的工具箱里了! 一.自定义Repeater 复制代码 代码如下: using System.Web.UI; using System.Web.UI.WebControls; namespace WYJ.Web.Controls { /// <summary>

asp.net利用存储过程和div+css实现分页(类似于博客园首页分页)_实用技巧

首先声明以下几点: 1.也许讲解有点初级,希望高手不要"喷"我,因为我知道并不是每一个人都是高手,我也怕高手们说我装13,小生不才: 2.如有什么不对的地方,还希望大家指出,一定虚心学习: 3.本文属于作者原创,尊重他人劳动成果,转载请注明作者,谢谢. 下面开讲: 首先说下思路,写一个存储过程,我也找了一个存储过程,不过不是我写的,出处:http://www.cnblogs.com/zhongweiv/archive/2011/10/31/JqueryPagination.html 这

让Asp.NET的DataGrid可排序、可选择、可分页_实用技巧

DataGrid是Asp.NET中的一个重要的控件,经常我们都将DataGrid做成可分页的和可排序的,有时还需要加上选择功能.这些都是经常需要用到的方法,其实是比较简单的.  设计思路:     为了方便起见,我们连接SQL Server 2000的NorthWind数据库的Orders表,从数据库里得到此表的数据视图.利用DataGrid的SortCommand事件实现排序.用一个模板列加上CheckBox控件实现选择.可用DataGrid的属性生成器的"分页"选项或者自己修改HT

Asp.Net其他页面如何调用Web用户控件写的分页_实用技巧

在要添加分页的页面加载时添加以下代码:(以图书分类为例) 复制代码 代码如下: Paging p = Paging1; //Web用户控件的ID p.DataControl = gvBookType; //要绑定数据的控件(此处是GridView) p.TableName = "BookShop_BookType"; p.Sort = "asc"; p.Column = "BookType_ID";