GridView.PageIndexChanging срабатывает, но SelectedIndex не затронут! - PullRequest
1 голос
/ 27 апреля 2009

У меня есть две реализации для одной и той же проблемы.

Вид сетки, который связан с некоторыми данными и имеет столбец выбора с кнопкой. Когда нажимается кнопка, я знаю в отладке, что: sender.SelectedDataKey и sender.SelectedIndex имеют значения, которые я использую позже.

Но теперь я хочу использовать аккордеонный контроль ajax. У меня есть Аккордеон и одна Панель внутри. Внутри этой панели у меня есть CollapsiblePanel (который использует CollapsiblePanelExtender). И в этой CollapsiblePanel у меня есть свой Gridview. Таким образом, только когда я щелкаю по свернутой панели, я хочу получить данные из БД и связать их с GridView. Но кажется, что при использовании этого метода sender.SelectedDataKey и sender.SelectedIndex - это ничто (VB), когда срабатывает PageIndexChanging! Это не имеет никакого смысла!

GridView является частью обеих реализаций, и EnableViewState = true

Спасибо.

Ответы [ 2 ]

1 голос
/ 02 мая 2009

Поскольку Accordion Panel является элементом управления Ajax, она может добавлять туда панель обновления, даже если вы не добавили ее на страницу. Поскольку GridView находится внутри элемента управления Ajax, все события, которые запускаются GridView, будут перехвачены Ajax. Вы можете попытаться сделать так, чтобы кнопка GridView щелкала обратный вызов Ajax.

Я сталкивался с этой проблемой раньше, когда элементы управления внутри панели обновления Ajax или элемента управления Ajax; такие как Accordion Panel, запускают обработчик событий на стороне сервера, но поскольку задействован Ajax, значения возвращаются на стороне клиента.

0 голосов
/ 27 апреля 2009

убедитесь, что ваши элементы управления находятся в одной и той же UpdatePanel, или обновите различные контейнеры UpdatePanel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...