上次说的是QuickPager分页控件的PostBack的使用方式,也提供了源码下载。但是有些人下载之后发现有一大堆的文件夹,还有一大堆的DLL,到底要用哪个呀?不会都要用吧。
当然不需要全都引用了,只需要引用三个DLL就可以了。下载压缩包解压后,打开 \_WebControls\bin 这个文件夹。需要用到这里的三个DLL。
\_WebControls\bin\Nature.DataAccessLibrary.dll 数据访问函数库,和数据库打交道的
\_WebControls\bin\Nature.UDRM.dll 负责生产分页用的SQL的类库
\_WebControls\bin\Nature.WebControls.dll 分页控件
我们把这三个dll引入到我们的项目里,然后在web.config 里面设置一下,然后就可以用了。
代码
<configuration>
<appSettings>
<add key="DataBaseType" value="1"/>
<add key="PagerSQLKey" value="28526830"/>
</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>
<system.web>
<pages>
<!--注册自定义控件-->
<controls>
<add assembly="Nature.WebControls" namespace="Nature.WebControls" tagPrefix="Nature"/>
</controls>
</pages>
<!--其他代码省略-->
</system.web>
</configuration>
1、下载源码和文件夹、DLL文件的说明:
http://www.flashempire.com/home/flash_view.php?userid=1751896&id=587831
2、在项目里引入dll和web.config的配置说明,以及把第三方控件加到工具箱里的方法介绍。
http://www.flashempire.com/home/flash_view.php?userid=1751896&id=587823
后置代码:
代码
public partial class _Default : System.Web.UI.Page
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
//数据访问函数库的实例
DataAccessLibrary dal = DALFactory.CreateDAL();
this.PagerTest .DAL = dal;
//定义QuickPager_SQL,设置Page属性
PagerTest.PagerSQL.Page = this;
//设置显示数据的控件
PagerTest.ShowDataControl = this.rpt_Test;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
SetPagerInfo(); //设置表名、字段名等
}
}
#region 给QuickPager_SQL 设置属性,以便拼接SQL
private void SetPagerInfo()
{
PagerTest.PagerSQL.TableName = "News_Info"; //表名或者视图名称
PagerTest.PagerSQL.TableShowColumns = "*"; //需要显示的字段
PagerTest.PagerSQL.TablePKColumn = "NewsID"; //主键名称,不支持复合主键
PagerTest.PagerSQL.TableOrderByColumns = "NewsID desc "; //排序字段,根据分页算法而定,可以支持多个排序字段
PagerTest.PagerSQL.TableQuery = ""; //查询条件
PagerTest.PageSize = 4; //一页显示的记录数
PagerTest.NaviCount = 3;
//设置分页方式
PagerTest.PagerSQL.SetPagerSQLKind = PagerSQLKind.Max_TopTop;
PagerTest.PageIndex = 2;
}
#endregion
}
页面:
代码
<form id="form1" runat="server">
<div>
<asp:Repeater ID="rpt_Test" runat="server">
<ItemTemplate>
<p><%#Eval("NewsTitle") %></p>
</ItemTemplate>
</asp:Repeater>
<Nature:QuickPager ID="PagerTest" runat="server" />
</div>
</form>