.NET C#-将父控件传递给分页.ascx控件

本文关键字:控件 分页 ascx NET C#- | 更新日期: 2023-09-27 18:26:11

在我正在进行的一个项目中,我有很多<asp:ListView>控件,使用<asp:Dataager>控件。与其将控件复制并粘贴到每个有分页列表的.aspx页面上,是否可以将<asp:Dataager>控件转换为可重用/模块化.ascx控件,并在其上创建一个字段以传入PagedControlID?

我以前尝试过这种方法,但似乎无法针对父页面中的PagedControlID。

以下是我迄今为止的收获。任何帮助都将不胜感激。

.aspx页面

<abc:Pagination ID="uxPagination" ListControlID="uxEventListView" runat="server" />

.ascx寻呼控制

<asp:DataPager ID="uxDataPager" PageSize="1" runat="server" />

.ascx.cs寻呼控制

public partial class ABC_UserControls_Pagination : System.Web.UI.UserControl
{
    private string listControlID;
    public string ListControlID
    {
        get { return listControlID; }
        set { listControlID = value; }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!string.IsNullOrEmpty(ListControlID))
        {
            uxDataPager.PagedControlID = ListControlID;
        }
    }
}

.NET C#-将父控件传递给分页.ascx控件

对延迟表示歉意。这似乎奏效了。现在,使用UserControl,您将能够传递控件ID(在我的情况下是ListView)和每页的首选项计数。

public partial class ABC_UserControls_Pagination : System.Web.UI.UserControl
{
    public string ListControlID { get; set; }
    public int ListPageCount { get; set; }
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void uxDataPager_Init(object sender, EventArgs e)
    {
        uxDataPager.PagedControlID = ListControlID;
        uxDataPager.PageSize = ListPageCount;
    }
    protected void uxDataPager_PreRender(object sender, EventArgs e)
    {
        // Custom Logic Here
    }
}