QuickPager分页控件源码和Demo已经分离出来了!

自然框架 2011-01-30 08:53:28

  源码下载、演示下载http://www.naturefw.com/down/List1.aspx

在线演示:http://demo.naturefw.com/Nonline/QuickPager/default.aspx

现在的版本是 V2.0.4.2。页号输入0的bug也去掉了。

这里还有分。

  QuickPager的源码分离出来之后由两个项目组成,一个是QuickPager、另一个是QuickPagerSQL。分页控件的演示也独立了出来。



如下图:



  QuickPager是分页控件的项目,负责UI的绘制,即上一页、下一页、页号导航等的绘制,还有事件的触发,控件绑定等功能。

  QuickPagerSQL是生产分页用的SQL的项目,这个也是独立的,可以单独调用这个dll。


QuickPager项目里引用的DLL:



1、 Nature.CommonFunction
  这里除了常用函数库外,还定义了一个接口(IDAL),就是数据访问的接口。如果你不想使用我的数据访问函数库的话,可以通过实现这个接口的方式来换成你自己的数据访问方式。

2、 Nature.MetaData
  这个是元数据的实体类的定义和加载管理。因为在元数据环境下使用分页控件,可以从元数据里面提取信息,给分页控件设置属性,所以就需要引用这个dll。如果是独立使用,那么可以不用这个dll,只是这个没有做成接口的形式,必须显示引用。

3、 Nature.WebControl.QuickPagerSQL
  分页算法的dll。如果是手动分页的话,可以不用这个dll,只是因为没有做成接口的形式,所以必须引用进来才可以。

  QuickPager分页控件要运行起来还需要几个dll。上面说的是在项目里引用的dll,出来这几个之外,在项目里使用分页控件的时候,还需要两个dll。
1、 Nature.DataAccessLibrary.dll
  这个是我的数据访问函数库,如果是自动运行,那么就必须有这个dll。如果是手动运行,那么就可以不用这个dll。如果你自己实现了这个接口,那么也可以不用这个dll。

2、 Nature.WebControl.Interface.dll
  为啥要有这个dll呢?因为Nature.MetaData.dll需要这个dll。这个也是没有分离干净的结果。如果能够像数据访问那样设置接口的话,那就可以按需引用这两个个dll了。只是对接口的理解和掌握还不够,现在的水平还设计不好元数据的接口。所以暂时只好这样了,以后在进行改进。


Web.config 的修改
1、 注册控件


<system.web>
<pages>
<!--注册自定义控件-->
<controls>
<!--分页控件-->
<add assembly="Nature.WebControl.QuickPager" namespace="Nature.WebControls" tagPrefix="Nature"/>
<!--注册基础控件,文本框、下拉列表框等-->
<add assembly="Nature.WebControl.BaseControl" namespace="Nature.WebControls" tagPrefix="Nature"/>
<!--注册元数据控件
<add assembly="Nature.WebControl.MetaControl" namespace="Nature.WebControls" tagPrefix="Nature"/>-->
</controls>
</pages>


2、 修改连接字符串
如果使用我的数据访问函数库的话,需要如下设置


<appSettings>
<add key="DataBaseType" value="1"/>
<add key="PagerSQLKey" value="22639340"/>
<add key="FCKeditor:BasePath" value="~/aspnet_client/FCKeditor/"/>
<add key="FCKeditor:UserFilesPath" value="/uploads"/>
</appSettings>
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=.;Initial Catalog=Nature_Demo;persist security info=False;user id=sa;pwd=admin;" providerName="System.Data.SqlClient"/>
</connectionStrings>


3、 URL重写的设置
如果要实现URL重写的话,需要如下设置。(URLRewriter)

 
<configuration>
<!--URL重写的设置,居然必须是第一个-->
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
</configSections>

……
<!--重写规则-->
<RewriterConfig>
<Rules>
<!--URL重写的演示-->
<RewriterRule>
<LookFor>~/QuickPager/URL/list(\d+)\.aspx</LookFor>
<SendTo>~/QuickPager/URL/URLRewriter.aspx?page=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>
<!--URL重写的设置-->
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
</httpHandlers>


  先放出来分页控件的两个项目的源码,其他几个dll的源码如果想看的话,可以先下载自然框架源码。我在整理一下,然后再发其他几个dll的单独的源码。主要是调整一下“源码下载”栏目。需要增加多级分类、相关资源、最新版本的功能。

【QuickPager的类图】


【QuickPagerSQL的类图】




...全文
692 46 打赏 收藏 转发到动态 举报
写回复
用AI写文章
46 条回复
切换为时间正序
请发表友善的回复…
发表回复
自然框架 2011-02-15
  • 打赏
  • 举报
回复
最近忙一件更重要的事情,进度有点耽搁了。抱歉了。
flyerwing 2011-02-10
  • 打赏
  • 举报
回复
大虾真是太有激情了!
哥就是做人不积极,干事情没激情;所以才没出息的.
自然框架 2011-02-10
  • 打赏
  • 举报
回复
[Quote=引用 37 楼 manceelee 的回复:]
非常感谢.正好前阵时间在研究URLrewritting,
不过还是没有搞出最好的解决办法, 有空研究下你的. hehe.
[/Quote]

关于一个好看的URL,我比较期待asp.net mvc。这个似乎可以更好的解决。

我现在实现URLrewritting,还是很古老的方法。

不知道你期待的“最好的解决方法”是什么要求?
宝_爸 2011-02-10
  • 打赏
  • 举报
回复
感谢lz分享代码。
MADfox1983 2011-02-10
  • 打赏
  • 举报
回复
好东西,大家新年快乐~~~
manceelee 2011-02-09
  • 打赏
  • 举报
回复
非常感谢.正好前阵时间在研究URLrewritting,
不过还是没有搞出最好的解决办法, 有空研究下你的. hehe.

子夜__ 2011-02-09
  • 打赏
  • 举报
回复
可以加精。。。呵呵
杨哥儿 2011-02-09
  • 打赏
  • 举报
回复
自然框架 2011-02-09
  • 打赏
  • 举报
回复
哪里复杂了呢?

使用是很简单的,代码、demo也都分离出来了。

你可能说的是内部代码吧。

那么请问一下,如果你不用第三方控件,自己实现分页功能,需要多少代码呢?
ycproc 2011-02-09
  • 打赏
  • 举报
回复
是不是 复杂了点
alan_219_2008 2011-02-03
  • 打赏
  • 举报
回复
春节快乐
学习~
lgyQA 2011-02-01
  • 打赏
  • 举报
回复
谢谢 春节快乐
Teng_s2000 2011-02-01
  • 打赏
  • 举报
回复
不错,春节快乐
mailbao 2011-02-01
  • 打赏
  • 举报
回复
分享同樂!賀喜樓主,新年更上一層樓!
自然框架 2011-02-01
  • 打赏
  • 举报
回复
谢谢大家,春节快乐!
笨熊熊 2011-01-31
  • 打赏
  • 举报
回复
過年研究。
sdcpzzg 2011-01-31
  • 打赏
  • 举报
回复
愿朋友们一切都给力
自然框架 2011-01-31
  • 打赏
  • 举报
回复
过年了,祝大家新年快乐,过年好!
wulg10 2011-01-31
  • 打赏
  • 举报
回复
在cnblogs看到lz写的博客
罗纳尔迪尼奥 2011-01-31
  • 打赏
  • 举报
回复
楼主V5
加载更多回复(13)

62,051

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧