【开源】QuickPager ASP.NET2.0分页控件——使用示例、基本应用和查询功能

简介:     myPage分页控件发出来之后,虽然开源了,但是没有给一个简单一点的 demo,真是漏掉了一个很重要的部分。     先说明一下使用myPage分页控件需要的文件。     Controls.dll :这个是分页控件的dll文件,您可能要问,为什么不叫 myPage.dll呢?因为里面不仅有分页控件,还包含其他的控件,比如扩展功能的TextBox等控件,这是多个控件的集合,所以就叫做 Controls.dll 了。

    myPage分页控件发出来之后,虽然开源了,但是没有给一个简单一点的 demo,真是漏掉了一个很重要的部分。

    先说明一下使用myPage分页控件需要的文件。

     Controls.dll :这个是分页控件的dll文件,您可能要问,为什么不叫 myPage.dll呢?因为里面不仅有分页控件,还包含其他的控件,比如扩展功能的TextBox等控件,这是多个控件的集合,所以就叫做 Controls.dll 了。对应的有一个 Controls.XML文件,里面放的是控件里的属性、函数、事件的提示说明。这个可以更方便使用。需要把这两个文件放在bin目录里面。

提示效果:


     DataAccess2.0.dll :这个不属于分页控件,他是 数据访问函数库的dll文件,因为分页控件要调用这里面的函数来提取数据,所以也需要把这个dll文件放在bin目录下面。他也有一个对应的 DataAccess2.0.xml 文件。

    压缩包里的其他文件
    vs200802.dll 这个是演示程序的 dll文件。
     Default.aspx 这里就是分页控件的演示代码了。
    
    
    要想写一个demo还真不是容易的事情,IDE就有两个,vs2005和vs2008,有都可以建立“网站”和“项目”,组合一下就是四种demo。我比较懒,给自己偷个懒吧,用vs2005写一个建立“网站”的demo,再用vs2008写一个“项目”的demo吧。(ps:vs2005还没有打上sp1呢,所以想建立项目也建立不了:) )

    先说一下公用的部分吧,需要在web.config里面配置连接字符串和数据库类型。
< appSettings >
        
< add  key ="DataType"  value ="1" />
    
</ appSettings >
    
< connectionStrings >
        
< add  name ="ConnStr"  connectionString ="Data Source=.;Initial Catalog=AdventureWorks ;persist security info=False;user id=sa;pwd=admin;"  providerName ="System.Data.SqlClient" />
    
</ connectionStrings >
    
< system.web >
    
    DataType = 1 表示使用sql Server数据库。

    ConnStr 是连接字符串。这里使用 SQL Server2005自带的 AdventureWorks 数据库,不知道大家有没有安装。如果没有安装的话,需要在这里换成其他的数据库。当然 Data Source 等也需要做相应的修改。

    下面说一下vs2005里面使用分页控件地方法,截了几个图,方便大家阅读。

    1、添加引用。
    怎么建立项目就不用说了吧。项目建立之后需要引用分页控件需要的dll文件。
    在“解决方案资源管理器”点击右键,选择“添加引用”。
    

    然后呢会打开“添加引用”对话框,选择“浏览”标签。
    

    找到 Controls.dll 文件,单击确定。好了,分页控件就会被引用到项目里了。下一步是在工具箱里面添加分页控件。

    2、 工具箱里添加分页控件。

    

    点击“选择项”,打开“选择工具箱项”
    

    使用“浏览”按钮,找到 Controls.dll 文件,然后里面的控件就会加载进来,就是选中的这几个。单击确定,就可以加到工具箱里面了。

    

    然后往页面上拽一个GridView,和一个JYKPage(控件里还没有改名:) ),用做测试,GridView的ID是GV,分页控件的ID:myPage1。GridView采用“自动生成字段”的方式。

    

    
    dll和控件都加载完毕,下面可以写代码了。
protected   void  Page_Load( object  sender, EventArgs e)
    
{
        
if (!Page.IsPostBack)
            setPageInfo();
    }


   
private   void  setPageInfo()
    
{
        
//以下三个属性必须赋值
        this.myPage1.ControlGridID = this.GV.ID;

        
this.myPage1.TableName = " Person.Contact";      //表名或者视图名
        this.myPage1.TableOrderColumns = "FirstName,ContactID ";  //排序字段,可以写多个字段

        
//以下属性可以不赋值
        this.myPage1.TableShowColumns = "*";    //显示的字段,可以不填,默认为 *
        this.myPage1.PageSize = 5;              //一页显示的记录数,默认一页显示20条记录
        this.myPage1.TableQuery = "";           //查询条件,不包含 where 
        this.myPage1.NaviCount = 8;             //页号导航的数量,默认10个

        
//这个函数必须执行,而且要在给上面的属性赋值之后执行。
        this.myPage1.BindFirstPage();

    }


    然后运行程序。提示一下,运行前要修改web.config文件,设置连接字符串。另外还有一点,需要在根目录下面建立一个 log文件夹,如果运行程序出现错误(和数据访问相关的),那么会在这个文件夹里面建立一个文本文件,在里面写出错信息,您可以根据这里的信息来判断出错的原因。
    需要给log文件夹设置一下权限,User用户的“写入”权限,否则无法写入信息。如图:


    如果没有什么意外的话,您会看到下面的效果。

    

    GridView没有做什么处理,大家忍受一下先。:)

    最少写四行代码就可以实现分页的功能,显示数据就交给GridView了。什么您问是不是漏了一件事情,翻页时产生的事件还没有说呢,这个在默认的情况下是不用自行处理的。分页控件就可以自己处理。

    还要写代码,好像没有GridView + SQLDataSource方便。我想了一下,好像确实没有什么优势,要说优点嘛,好像只有两个,一个是分页控件是按需索取,一页显示五条数据的话,那么就到数据库里提取五条,多一条不取(听说GridView在分页的时候还是会把表里的数据都拿出来,然后在内存里面分页)。另一个就是,GridView + SQLDataSource只能在vs05、08里面使用,不能在vs2003里面使用,而我的分页控件可以在vs2003里面使用。当然要选用for .net1.1的版本。
(ps:04年底,分页控件就可以这么用了。)

    


    下面说一下vs2008里面使用分页控件的方法,其实和在05里面也没有什么大的区别。
    
    1、引用dll文件
    

     
    
    
    2、工具里添加分页控件
    

    


    3、编写代码。这个嘛,其实和vs05里面的是一样的,就不重复贴了。

    4、运行。
    
    还是要先修改一下web.config文件,再根目录里面建立一个log文件夹。





    最后说一下如何实现查询功能。

    在页面里拖拽两个JYKTextBox,对没写错买就是这个,他在分页控件的下数第二个控件,再加一个button按钮。
    我们假设需要按照字段 LastName、Phone 来进行模糊查询。在按钮的 Btn_Search_Click事件里面写如下代码即可。

    
  protected   void  Btn_Search_Click( object  sender, EventArgs e)
        
{
            
//TableName等属性已经在ViewState 里面保存了,所以查询的时候不用再次赋值。

            
//组合查询条件
            string query = "";

            
string key = this.Txt_LastName.TextTrimNone;

            
if (key.Length > 0)
            
{
                query 
= "LastName like '%" + key + "%'";
            }


            key 
= this.Txt_Phone.TextTrimNone;
            
if (key.Length > 0)
            
{
                
if (query.Length == 0)
                    query 
= "Phone like '%" + key + "%'";
                
else
                    query 
+= " and Phone like '%" + key + "%'";
            }


            
this.myPage1.TableQuery = query;    //添加查询条件
            this.myPage1.BindFirstPage();       //重新显示数据,控件内部会重新生成SQL语句。

        }
    

    运行效果
    
    


demo的下载地址: http://www.cnblogs.com/jyk/archive/2008/04/25/1170979.html
还是在随笔的下面。

相关文章
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
780 10
|
C# Android开发 iOS开发
2025年全面的.NET跨平台应用框架推荐
2025年全面的.NET跨平台应用框架推荐
646 23
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
322 5
|
JSON 算法 安全
JWT Bearer 认证在 .NET Core 中的应用
【10月更文挑战第30天】JWT(JSON Web Token)是一种开放标准,用于在各方之间安全传输信息。它由头部、载荷和签名三部分组成,用于在用户和服务器之间传递声明。JWT Bearer 认证是一种基于令牌的认证方式,客户端在请求头中包含 JWT 令牌,服务器验证令牌的有效性后授权用户访问资源。在 .NET Core 中,通过安装 `Microsoft.AspNetCore.Authentication.JwtBearer` 包并配置认证服务,可以实现 JWT Bearer 认证。具体步骤包括安装 NuGet 包、配置认证服务、启用认证中间件、生成 JWT 令牌以及在控制器中使用认证信息
555 2
|
数据采集 JSON API
.NET 3.5 中 HttpWebRequest 的核心用法及应用
【9月更文挑战第7天】在.NET 3.5环境下,HttpWebRequest 类是处理HTTP请求的一个核心组件,它封装了HTTP协议的细节,使得开发者可以方便地发送HTTP请求并接收响应。本文将详细介绍HttpWebRequest的核心用法及其实战应用。
769 6
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
本文讨论了在基于.NET 6和.NET Framework的WinForms项目中添加图表控件的不同方法。由于.NET 6的WinForms项目默认不包含Chart控件,可以通过NuGet包管理器安装如ScottPlot等图表插件。而对于基于.NET Framework的WinForms项目,Chart控件是默认存在的,也可以通过NuGet安装额外的图表插件,例如LiveCharts。文中提供了通过NuGet添加图表控件的步骤和截图说明。
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
|
开发者 Windows
.NET 开源扁平化、美观的 C/S 控件库
【10月更文挑战第23天】介绍了三款适用于 .NET 平台的开源扁平化、美观的 C/S 控件库:MaterialSkin 采用 Google Material Design 风格,适合现代感界面;Krypton Toolkit 提供丰富控件,界面易于定制;Fluent Ribbon Control Suite 模仿 Office 界面,适合复杂功能应用。每款控件库均附有示例代码及 GitHub 链接。
742 0
|
C# Android开发 iOS开发
一组.NET MAUI绘制的开源控件 - AlohaKit
一组.NET MAUI绘制的开源控件 - AlohaKit
313 0
|
SQL 存储 前端开发
asp.net中分页控件AspNetPager美化样式
在asp.net开发中数据列表分页是再常见不过的功能了,相信大家使用AspNetPager的也很多,使用CSS可以让样式更好看,如下图: 新建一个名为content.
1144 0