Обработка обратной передачи в веб-части в Sharepoint - PullRequest
0 голосов
/ 28 сентября 2010

Я инициализирую GridView, текстовое поле и кнопку через код для веб-части в CreateChildControls ()

Указанные выше элементы управления объявлены как переменные класса, но инициализированы только позже.

Далее,Я дал обработчик для нажатия кнопки.Предполагается, что функция обработчика должна работать как поиск - выполнять некоторые операции с содержимым, введенным в текстовое поле, загружать результаты в Gridview, отображать Gridview

Когда я что-то набираю в текстовом поле и нажимаю кнопкуснова загружаются те же элементы управления, и содержимое, введенное в текстовое поле, теряется.Я пробовал ViewState () и ViewState (), но безрезультатно.Сетка не отображается, потому что моя логика пропускает попытки связать ее, так как правильная строка поиска не была доступна.

Мои вопросы: 1) Где / как я могу получить обратную передачу значений из текстового поля?2) Имеет ли смысл заполнять GridView в PreRender () или обработка события происходит после PreRender ()?

EDIT: похоже, что обработчик событий не вызывается.

Dim btnClickHandler = New EventHandler(AddressOf SetSearchParameter)
AddHandler srchBtn.Click, btnClickHandler

правильно?

РЕДАКТИРОВАТЬ: я переделал весь код с 0. Теперь он работает.

Ответы [ 2 ]

1 голос
/ 28 сентября 2010

Меня это всегда смущает.Я всегда ссылаюсь на этот вопрос , чтобы прояснить ситуацию (также жизненный цикл управления выполнением ).

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

  2. Я бы предложил использовать OnPreRender для заполнения вашей сетки.Ваши элементы управления должны иметь свои значения, заполненные ViewState к тому времени.

0 голосов
/ 28 сентября 2010

вы должны иметь возможность ссылаться на управляющие значения в обработчике событий для нажатия кнопки, в зависимости от того, как построить их статические / динамические (текстовое поле) Page.FindControl ('controlname'). Значение в вашем обработчике событий для нажатия кнопки.

э-э ... this.findcontrol.

Я делаю это из памяти, так что синтаксис может быть отключен.

...