2012-07-02 3 views
0

У меня есть пользовательский элемент управления под названием «DashboardUserControl.ascx»Изменение свойств пользовательского элемента управления с другой страницы

Она имеет функцию:

public void setPagination(Boolean pagination) 
    { 
     this.DashboardGridView.AllowPaging = pagination; 
    } 

я две другие страницы с этим элементом управления пользователя, вставленный с помощью перетаскивания и падение:

  1. MyDashboard.aspx: Я хочу установить разбиение на страницы управления пользователя «истина» с этой страницы.

  2. SharedDashboard.aspx: Я хочу установить разбивку пользовательского элемента на «false».

Как это сделать?

ответ

1

Если у вас есть usercontrol, добавленный на обе страницы, у вас есть два экземпляра usercontrol. Это означает, что пользовательский контроль на страницах не подключен.

Таким образом, чтобы вызвать метод, вы можете просто сделать следующее в Page_Load страниц. Следующий пример кода для MyDashboard.aspx.cs. Изменить true до false в SharedDashboard.aspx.cs.

protected void Page_Load(object sender, EventArgs e) { 
    this.DashboardUserControl.setPagination(true); 
} 
+0

Я попробовал решение, которое вы дали на прошлой неделе. Это не работает. Теперь я попробовал еще раз, и он работает. В прошлый раз я должен был сделать что-то еще неправильно. В любом случае, спасибо! – coolscitist

1

Либо:

  • Поместите вызов setPagination в коде позади MyDashboard.aspx и SharedDashboard.aspx с булевым значением, установленным в соответствии с требованиями каждой страницы.

Или (я предпочел бы)

  • Перепишите метод является свойством:

    public bool Pagination { set { this.DashboardGridView.AllowPaging = value; } get { return this.DashboardGridView.AllowPaging; } }

Если добавить свойство, которое вы можете присвоить значение к нему в либо из кода позади, либо из разметки MyDashboard.aspx и SharedDa shboard.aspx. . <uc:MyControl id="myControl1" Pagination="true" runat="server" />

Надеется, что это помогает

+0

Спасибо за ответ! – coolscitist

Смежные вопросы