.NET C # - Передача родительских элементов управления в элемент управления .ascx нумерации страниц? - PullRequest
3 голосов
/ 01 марта 2012

В проекте, над которым я работаю, у меня есть много элементов управления , которые разбиты на страницы с использованием элементов управления . Вместо того чтобы копировать и вставлять элементы управления на каждую страницу .aspx, где у меня есть разбитый на страницы список, можно было бы разбить элементы управления на многократно используемый / модульный элемент управления .ascx и создать на нем поле для передачи в PagedControlID?

Я пробовал это в прошлом, но не похоже, что он нацелен на PagedControlID на родительской странице.

Вот что у меня так далеко. Любая помощь будет высоко ценится.

.aspx Page

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

.ascx Pagination Control

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

.ascx.cs Pagination Control

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;
        }
    }
}

1 Ответ

0 голосов
/ 23 июля 2012

Извинения за задержку.Казалось, это сработало.Теперь с помощью UserControl вы сможете проходить через идентификатор элемента управления (в моем случае 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
    }
}
...