Могу ли я запускать событие нажатия кнопки без запуска события загрузки страницы?

У меня есть кнопка на моей странице и несколько текстовых полей, которые изменяют свой контекст в событии page_load. когда я открываю страницу в первый раз, она загружает случайные данные из базы данных в текстовые поля с помощью функции загрузки страницы, а также я динамически создаю эти текстовые поля. я хочу внести некоторые изменения в тексты текстовых полей и нажать кнопку, а затем отправить новый контекст текстовых полей в базу данных. Но когда я нажимаю кнопку, событие PageLoad запускается снова, и оно регенерирует текстовые поля, и их контекст естественным образом изменяется, поскольку они являются вновь созданными текстовыми полями. Я пытался использовать «if(!Page.isPostBack)» при загрузке страницы, но тогда текстовые поля и связанные объекты не создаются и становятся нулевыми.

как я могу преодолеть эту проблему? Лучшее, что я могу придумать, это найти способ активировать событие нажатия кнопки без запуска события PageLoad, но я не знаю, как я могу это сделать.

любая помощь будет оценена;)


person Tolga Evcimen    schedule 20.06.2012    source источник
comment
Даже частичная обратная передача будет выполнять загрузку страницы.   -  person Pankaj    schedule 20.06.2012
comment
можете ли вы восстановить Textbox при каждом выполнении загрузки страницы? и назначение данных этим Textbox должно быть под !Page.IsPostback. Все, что вам нужно сделать, это сохранить идентификаторы текстового поля в ViewState только при первой загрузке страницы, а следующая регенерация текстового поля будет иметь предыдущий сохраненный идентификатор, и вам также необходимо сохранить соответствующие данные идентификатора в ViewState. Имеет смысл?   -  person Pankaj    schedule 20.06.2012
comment
да, это имеет смысл, но я не знаю, что такое ViewState:/ и если я научусь их как-то использовать, могу ли я использовать его для хранения некоторых значений int или string?   -  person Tolga Evcimen    schedule 20.06.2012
comment
Да, конечно. Он также может содержать объект/коллекцию   -  person Pankaj    schedule 20.06.2012
comment
Большое спасибо, приятель;) все сработало отлично :) использование ViewStates решило мою проблему;) теперь я счастлив благодаря тебе :))   -  person Tolga Evcimen    schedule 20.06.2012
comment
Примите ответ, который лучше всего соответствует вашим потребностям.   -  person Pankaj    schedule 20.06.2012
comment
Мне нужно еще одно предложение, пожалуйста. Как я могу передать RadioButtonList [] с помощью состояния просмотра? В нем говорится, что RadioButtonList не является сериализуемым элементом управления. Я читал, что вы упомянули об идентификаторах, это атрибут clientID объектов? И как я могу использовать идентификаторы для отправки массива RadioButtonList?   -  person Tolga Evcimen    schedule 20.06.2012
comment
Предположим, у вас есть 10 элементов управления. Этим элементам управления можно назначить некоторые идентификаторы GUID. при назначении, а затем добавлении идентификаторов в список, чтобы отслеживать идентификаторы. Теперь при повторном создании элемента управления назначьте те же идентификаторы в том же порядке, что и в списке.   -  person Pankaj    schedule 20.06.2012
comment
Я не мог понять, как назначить идентификатор GUID для списка радиокнопок и как восстановить его с этим идентификатором :( не могли бы вы рассказать об этом немного подробнее. может быть, с некоторыми примерами кода?   -  person Tolga Evcimen    schedule 20.06.2012


Ответы (1)


Из комментариев

Можете ли вы восстановить Textbox при каждом выполнении загрузки страницы? и назначение данных этим Textbox должно быть под !Page.IsPostback. Все, что вам нужно сделать, это сохранить идентификаторы Textbox в ViewState только при первой загрузке страницы, а следующая регенерация Textbox будет иметь предыдущий сохраненный идентификатор, и вам также необходимо сохранить соответствующие данные идентификатора в ViewState. Имеет смысл?

person Pankaj    schedule 20.06.2012