.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;
}
}
}
对延迟表示歉意。这似乎奏效了。现在,使用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
}
}