ASP.NET动态网站开发培训-16.DataList控件(三)

第十六讲:DataList控件(三)解决分页问题

课程安排:

PagedDataSource类

HyperLink控件

Page_Load事件

分页代码分析


PagedDataSource类

常用属性:

DataSource:用于指定数据源

例如:objPage.DataSource=dv;


AllowPaging:用于设置是否允许分页

例如:objPage.AllowPaging=true;


PageSize:用于设置一页中能够显示的页数

例如:objPage.PageSize=4;


PageCount:用于获得总页数

例如:int TotalPage=objPage.PageCount


CurrentPageIndex:用于设置当前页的索引号

例如:objPage.CurrentPageIndex=2;


IsFirstPage:用于判断当前页是否是首页

例如:

if(!objPage.IsFirstPage){}


IsLatPage:用于判断当前页是否是末页


HyperLink控件

用于显示上一页,下一页字样,并实现功能。

NavigateUrl:用于设置单击超链接时,跳转到的网页地址。

例如:InkFirst.NavigateUrl="Default.aspx?Page=1";


实现分页上一页下一页的思路:

在Page_Load加入代码:

        int curPage=0;
        curPage = Convert.ToInt32(Request.QueryString["Page"]);
        if (curPage==0)
        {
            curPage = 1;
        }

        lnkPrev.NavigateUrl = "Default.aspx?Page=" + Convert.ToString(curPage - 1);
        lnkNext.NavigateUrl = "Default.aspx?Page=" + Convert.ToString(curPage+1);

        objPage.CurrentPageIndex = curPage-1;

若当前页为第一页时,不显示上一页,当前页为最后一页是地,不显示下一页。

        objPage.CurrentPageIndex = curPage-1;

        if (objPage.IsFirstPage)
            lnkPrev.Visible = false;
        else
            lnkPrev.Visible = true;

        if (objPage.IsLastPage)
            lnkNext.Visible = false;
        else
            lnkNext.Visible = true;


Page_Load事件

页面加载时发生的事件。


分页代码分析

    protected void Page_Load(object sender, EventArgs e)
    {
        //创建一个SqlDzataSource类的对象sds
        SqlDataSource sds = new SqlDataSource();
        //给sds的SelectCommand属性设置Select语句
        sds.SelectCommand = "SELECT * FROM [产品表]";
        //将数据库连接字符串提取出来,赋值给sds的ConnectionString的属性
        //这样以来,sds就和MyDB数据库连接上了。
        sds.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionSTring"].ConnectionString;

        //执行select语句,并将查询结果转换为DataView,并赋值给dv对象。
        DataView dv = (DataView)sds.Select(DataSourceSelectArguments.Empty);

        //创建一个PagedDataSource类对象objPage
        PagedDataSource objPage = new PagedDataSource();

        //设置objPage对象的数据源为dv
        objPage.DataSource = dv;
        //允许objPage分页
        objPage.AllowPaging = true;
        //将每页能够显示的项目数,设置为4
        objPage.PageSize = 4;
        //将当前页,设置为第2页
        //因为第1页的索引号为0
        objPage.CurrentPageIndex = 1;

        DataList1.DataSource = objPage;
        DataList1.DataBind();        

    }


IsPostBack,在点击页面按钮、点击有PostBack属性的值是IsPostBack。返回值为True,第一次进入则为False;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章