Проблема с получением контрольного идентификатора при использовании tabcontainer - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть AJAX Control Toolkit TabContainer на моей странице ASP.NET.На одной из вкладок в TabContainer есть GridView.Теперь у меня есть UpdatePanel, для которого я хочу дать триггер как "RowCommand" GridView, упомянутый выше.UpdatePanel находится вне TabContainer.Но когда я даю идентификатор GridView, я получаю сообщение об ошибке:

Не удалось найти элемент управления с идентификатором 'grvSummary' для триггера в UpdatePanel 'updSegment'.

Триггерная разметка:

<asp:AsyncPostBackTrigger ControlID="grvSummary" EventName="RowCommand" />

1 Ответ

1 голос
/ 04 апреля 2012

Вам необходимо программно добавить триггер к вашему UpdatePanel.Это потому, что ваш GridView может начинаться или не начинаться с ContentPlaceHolder, отличного от UpdatePanel (а именно с <ContentTemplate> вашего TabContainer).Вот так (обратите внимание, что это действительно нужно сделать в Page_Init, из-за Page Life Cycle ):

protected void Page_Init(object sender, EventArgs e)
{
    AsyncPostBackTrigger trig = new AsyncPostBackTrigger();
    trig.ControlID = grvSummary.UniqueID;
    trig.EventName = "RowCommand";
    updSegment.Triggers.Add(trig);
}

Похоже, что это может быть проблема с ASP.NET / AJAX, принимая неправильное значение Control.UniqueID для Control, используемого в качестве триггера.

Источник: Запуск UpdatePanel в другом ContentPlaceHolder

...