Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / OnClick before Page_Load / 8 сообщений из 8, страница 1 из 1
03.09.2005, 11:39
    #33249699
Rosiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OnClick before Page_Load
В общем следующая проблема: есть некий контрол и форма добавления данных в этот контрол на той же странице. Вводим данные, нажимаем кнопку, данные добавляем в базу, но при отображении только что добавленные данные не отображаются, т.к. после нажатия конпки сначала все равно page_load проскакивает, а уж потом обработчик onClick. Нужно чтобы после нажатия на кнопку сначала кнопку отработало, а уж потом страницу выводило. Кто нить в курсе как?
...
Рейтинг: 0 / 0
03.09.2005, 12:03
    #33249707
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OnClick before Page_Load
Javascript?
...
Рейтинг: 0 / 0
03.09.2005, 12:04
    #33249708
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OnClick before Page_Load
Sorry, ili proverjat if (!IsPostBack) na OnPage_Load()

PS. Izvinjajus za latinicu, na translit.ru dostupa ne imeju.
...
Рейтинг: 0 / 0
03.09.2005, 12:59
    #33249747
Артем1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OnClick before Page_Load
Не очень понял, что надо, но вижу только 2 способа.
первый вам уже подсказали, использовать js и добавлять данные еще на клиенте перед постбэком.
второй - это в коде онклик после сохранения данных в базу доставать их оттуда и заново биндить к контролам. т.е. лучше будет вынести код извлечения и прибиндивания данных в отдельный метод, и вызывать его в Page_Load и в онклик кнопки.

уфф. надеюсь, правильно понял проблему. Удачи.
...
Рейтинг: 0 / 0
04.09.2005, 13:54
    #33250324
Rosiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OnClick before Page_Load
AxeleronJavascript?
Странное у вас виденье решение проблемы. Onclick у нас на сервере обрабатывается, а вы предлагаете это клиентом обработать :)
дальше,
ili proverjat if (!IsPostBack) na OnPage_Load()
Мало ли от чего у нас !IsPostBack произошел. Откуда ясно что я нажал эту кнопку а не что-нибудь еще?

Артем1использовать js и добавлять данные еще на клиенте перед постбэком
Не совсем понял, это как? Как я добавлю данные на клиенте не обращаясь к серверу. Это мне надо будет новый объект через Js создавать, потом туда вставлять....а если обновление в базе не пройдет? :) Много писанины на ровном месте (откровенно влом).

после сохранения данных в базу доставать их оттуда и заново биндить к контролам. т.е. лучше будет вынести код извлечения и прибиндивания данных в отдельный метод, и вызывать его в Page_Load и в онклик кнопки.
Эта идейка приходила мне в голову, но просто 2 раза дергать базу по одному и тому же поводу как-то нехорошо. Хотя судя по всему именно так и предется сделать :(. Просто такого идиотизма в ASP не было. Хотя осталась еще одна йдейка: есть же методы типа PreRender и другие. Наверняка же есть такие, которые вызываются позже onClick. Тогда забиндивание перенесу в них и должно быть все ок.

P.S. Спасибо за содействие, по крайней мере навели на мысль, что уже есть good :)
...
Рейтинг: 0 / 0
04.09.2005, 14:36
    #33250342
Rosiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OnClick before Page_Load
Да, и вправду немножко протормозил. В onLoad биндим контрол в блоке !IsPostBack, тогда при onClick он остается "старым". Доходит до обработчика onClick, а там пишем insert + тоже самое что в onLoad (почистив только перед этим естественно). И все счастливы.
...
Рейтинг: 0 / 0
05.09.2005, 10:41
    #33250940
nostra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OnClick before Page_Load
Может событие Page_PreRender использовать вместо Page_Load.
Т.е. сначало сработает onClick, а потом Page_PreRender.
...
Рейтинг: 0 / 0
05.09.2005, 12:42
    #33251430
german23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OnClick before Page_Load
Самый простой способ: проверять при постбэке - нажата ли нужнайа клавиша.
в событии Page_load:
if (Request.Form[btn_back.UniqueID] != null)

значит была нажата кнопка "btn_back" - и далее делаим чо там надо.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / OnClick before Page_Load / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]