asp.net web页面自定义分页控件

这几天学习了一下自定义分页控件,现将实现方法记录下来,亲测可以实现:

这里写图片描述

1.首先创建一个.ascx文件,命名为TurnPage,然后在里面写控件前台展示的界面:

这里写图片描述

2.然后在TurnPage.ascx.cs里面写相应的后台代码,代码如下:

namespace Web
{
public delegate void GoToPage(int PageNum);

public partial class TurnPage : System.Web.UI.UserControl
{
    private GoToPage _GoToPage = null;

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    public void InitControl(GoToPage GP)
    {
        _GoToPage = GP;
    }


    public int DataCount
    {
        get { return Int32.Parse(lbl_TotalCount.Text); }
        set { lbl_TotalCount.Text = value.ToString(); }
    }

    public int CurrPageNum
    {
        get { return Int32.Parse(lbl_CurrPage.Text); }
        set { lbl_CurrPage.Text = value.ToString(); }
    }

    public int TotalPageNum
    {
        get { return Int32.Parse(lbl_TotalPage.Text); }
        set { lbl_TotalPage.Text = value.ToString(); }
    }

    public int PageSize
    {
        get { return Int32.Parse(ddl_PageSize.SelectedValue); }
    }

    protected void btn_FristPage_Click(object sender, EventArgs e)
    {
        _GoToPage(1);
    }

    protected void btn_PrevPage_Click(object sender, EventArgs e)
    {
        if (int.Parse(lbl_CurrPage.Text) > 1)
            _GoToPage(int.Parse(lbl_CurrPage.Text) - 1);
        else
            _GoToPage(1);
    }

    protected void btn_NextPage_Click(object sender, EventArgs e)
    {
        if (int.Parse(lbl_CurrPage.Text) < int.Parse(lbl_TotalPage.Text))
            _GoToPage(int.Parse(lbl_CurrPage.Text) + 1);
        else
            _GoToPage(int.Parse(lbl_TotalPage.Text));
    }

    protected void btn_LastPage_Click(object sender, EventArgs e)
    {
        _GoToPage(int.Parse(lbl_TotalPage.Text));
    }

    public void ControlButtonClick()
    {
        if (DataCount > 0)
        {
            btn_FristPage.Enabled = true;
            btn_PrevPage.Enabled = true;
            btn_LastPage.Enabled = true;
            btn_NextPage.Enabled = true;
        }
        else
        {
            btn_FristPage.Enabled = false;
            btn_PrevPage.Enabled = false;
            btn_LastPage.Enabled = false;
            btn_NextPage.Enabled = false;
        }



        if (CurrPageNum == 1)
        {
            btn_FristPage.Enabled = false;
            btn_PrevPage.Enabled = false;
        }

        if (CurrPageNum == TotalPageNum)
        {
            btn_LastPage.Enabled = false;
            btn_NextPage.Enabled = false;
        }

        if (CurrPageNum == 0)
        {
            btn_FristPage.Enabled = false;
            btn_PrevPage.Enabled = false;
            btn_LastPage.Enabled = false;
            btn_NextPage.Enabled = false;
        }
    }

    protected void ddl_PageSize_SelectedIndexChanged(object sender, EventArgs e)
    {
        _GoToPage(1);
    }

    protected void btn_GO_Click(object sender, EventArgs e)
    {
        int pageNum;
        if (int.TryParse(txt_PageNum.Text, out pageNum))
        {
            if (pageNum > TotalPageNum)
                _GoToPage(TotalPageNum);
            else if (pageNum < 1)
                _GoToPage(1);
            else
                _GoToPage(pageNum);
        }

    }
}}

3.控件的方法就写好了,现在要做的就是在其它页面引用这个控件了,引用方法如下:

这里写图片描述

然后在页尾还需配置一下:

这里写图片描述

4.这就是最后一步了,在你引用这个控件的页面的后台代码里写下以下语句:

这里写图片描述

大功告成了!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值