Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Обратная отправка в updatepanel, masterpage


Автор: videns 12.3.2010, 14:38
Есть следующая ситуация. 

Masterpage, внутри одной из областей есть updatepanel. В этой updatepanel динамически строится таблица из БД. И также есть dropdownlist для фильтрации выборки БД, фильтрация срабатывает при нажатии на button. Причем этот dropdownlist выводится тоже динамически, добавляется в элементы table. 

В методе, который и выполняет построение таблицы, я нахожу этот ddl таким образом:

ContentPlaceHolder cph1 = (ContentPlaceHolder)Master.FindControl("MainContentplh");
DropDownList ddlSelectedFilter = (DropDownList)cph1.FindControl("ddlFilter");

Но из-за того, что он строится в самом коде, переменная ddlSelectedFilter оказывается пустой. Пытался выйти таким образом, при создании кнопки задаю метод:

filterButton.Command += new CommandEventHandler(FilterTable);

А в методе FilterTable вызываю метод, который и делает генерацию таблицы. То есть таблица генерируется 2 раза. В таком случае код правильно работает через раз. Первый раз срабатывает, второй - нет (причем не запускается сам метод FilterTable). 

Пытался в коде определить, какой элемент вызывает postback, но Request.Form["__EVENTTARGET"] выдает:

ctl00$MainContentplh$ctl03

Видимо из-за использования masterpage. Подскажите, как можно выйти из этой ситуации?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)