| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка под ASP.NET > Генерация postback вручную |
| Автор: KelTron 3.9.2008, 12:01 | ||||||
| Здравствуйте! Есть, например, такой код:
На форме есть Label, Panel, и 2 LinkButton При щелчке на одном из линк баттонов в панельке создаются кнопки, но при щелчке на любой из них происходит возврат формы и они все уничтожаются, следовательно не вызывается метод btn_Click. Чтобы исправить ситуацию, я изменил код так:
Проблема заключается в том, что при нажатии на линк баттоне сначала происходит возврат формы, а потом выполняется код. Поэтому кнопки сразу не создаются, приходится жать на какую - нибудь кнопку чтобы сгенерировать возврат формы. Чтобы решить эту проблему мне в голову пришел такой способ: генерировать возврат формы программно при каждом щелчке на линк баттоне.
Вопрос в том как? Погуглил, посмотрел в книжках, не нашел ничего подобного. Подскажите пожалуйста как это сделать, или если есть другой способ очень хочется узнать его...) |
| Автор: Idsa 3.9.2008, 12:26 |
| Можно, например, перенести создание кнопок в Page_PreRender. |
| Автор: KelTron 3.9.2008, 13:40 |
| Сделал так, кнопки стали отображаться как надо, но они перестали реагировать на нажатие. Метод btn_Click не вызывается... |
| Автор: Idsa 3.9.2008, 16:46 | ||||
| Ага. Точно. Проглядел. Вижу парочку workaround'ов. Приведу самый простой. 1. Меняем код обработчиков кликов по LinkButton'ам:
При щелчке очищаем Panel1 и добавляем контент заново. 2. Добавляем в метод CreateButtons присвоение идентификатора:
Добавлено через 5 минут и 15 секунд Предполагалось, что в Page_PreRender ничего не переносилось. |
| Автор: KelTron 3.9.2008, 17:07 |
| Большое спасибо, теперь все работает. |