Как запустить обновление UpdatePanel с MasterPage?

#c# #asp.net #ajax #triggers #updatepanel

#c# #asp.net #ajax #триггеры #updatepanel

Вопрос:

У меня есть UpdatePanel в динамически загружаемом UserControl , который находится в TabPanel из TabContainer . Возможно ли указать в разметке asp:LinkButton в MasterPage качестве UpdatePanel s триггер?

Ответ №1:

Вы можете динамически добавлять AsyncPostBackTrigger или PostBackTrigger

Вот как вы можете это сделать:

 AsyncPostBackTrigger apTrigger = new AsyncPostBackTrigger();
apTrigger.ControlID = "LinkButtonId";
apTrigger.EventName = "Click";
((UpdatePanel)((TabPanel)TabContainID.FindControl("tabPanel")).FindControl("UpdatePanelID")).Triggers.Add(apTrigger);
  

Редактировать: Если элемент управления находится на главной странице, то сначала вам нужно найти кнопку LinkButton.

 LinkButton LinkButtonId = (LinkButton)Master.FindControl("LinkButtonId");
apTrigger.ControlID = "LinkButtonId";
  

Комментарии:

1. Спасибо за ваш ответ. Но проблема в том, что элемент управления триггером находится на главной странице, так как я могу просто указать apTrigger. ControlID? Кроме того, это нельзя сделать в markup? Спасибо.

2. Но разве ControlID не строка? Как можно назначить ему LinkButton? Спасибо.

3. Извините, добавляю двойной qoute и проверяю.

4. Если мы просто используем LinkButtonID, зачем нам нужно находить сам элемент управления? И мы подходим к вопросу, который я задал в своем первом комментарии.