#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, зачем нам нужно находить сам элемент управления? И мы подходим к вопросу, который я задал в своем первом комментарии.