Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обработчик нажатия на кнопку _до_ Page_load()
|
|||
|---|---|---|---|
|
#18+
Почему обработчик нажатия на кнопку вызывается после Page_Load() и подскажите, пожалуйста, как сделать наоборот? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 17:38 |
|
||
|
Обработчик нажатия на кнопку _до_ Page_load()
|
|||
|---|---|---|---|
|
#18+
читай про Page Execution Lifecycle. А имено про фазу - Raise Postback Event _______________________________________________________ Never ask users what they want, or they'll tell you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 17:43 |
|
||
|
Обработчик нажатия на кнопку _до_ Page_load()
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, <Аноним>, Вы писали: А>Почему обработчик нажатия на кнопку вызывается после Page_Load() и подскажите, пожалуйста, как сделать наоборот? А зачем? Более качественно используем Page.IsPostBack при Page_Load() и все будет в шоколаде. ;)... << RSDN@Home 1.1.4 stable SR1 rev. 568>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 17:44 |
|
||
|
Обработчик нажатия на кнопку _до_ Page_load()
|
|||
|---|---|---|---|
|
#18+
пожалуйста, как сделать наоборот по-нормальному вроде никак. Но можешь в OnLoad сделать, что-то типа if (Request.Params["__EVENTTARGET"] == myButton.UniqueID) myButtonOnClick(...); но это криво _______________________________________________________ Never ask users what they want, or they'll tell you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 17:45 |
|
||
|
Обработчик нажатия на кнопку _до_ Page_load()
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, GlebZ, Вы писали: А>>Почему обработчик нажатия на кнопку вызывается после Page_Load() и подскажите, пожалуйста, как сделать наоборот? GZ>А зачем? Более качественно используем Page.IsPostBack при Page_Load() и все будет в шоколаде. ;) Так у меня просто при нажатии на 2 разных кнопочки меняется значение одной переменной, в соответствии с тем, какую кнопочку нажали (у каждой свой обработчик) :) И надо просто, чтобы после нажатия на эти кнопочки страница перегрузилась согласно новому значению этой переменной. Мне кажется IsPostBack тут не поможет, или я ошибаюсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 17:49 |
|
||
|
Обработчик нажатия на кнопку _до_ Page_load()
|
|||
|---|---|---|---|
|
#18+
Отвечаю Анониму. Как я понимаю, имхо, это происходит (Load) потому, что мы работаем не в автономе, а в web-приложении. Когда мы, находясь в интернете, нажимаем на кнопку, то фактически покидаем "эту" страницу и переходим на новую. Поэтому требуется Load: для прорисовки всего что нужно на этой новой странице. Тут логика совсем другая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 18:03 |
|
||
|
Обработчик нажатия на кнопку _до_ Page_load()
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Аноним, Вы писали: А>Так у меня просто при нажатии на 2 разных кнопочки меняется значение одной переменной, в соответствии с тем, какую кнопочку нажали (у каждой свой обработчик) :) А>И надо просто, чтобы после нажатия на эти кнопочки страница перегрузилась согласно новому значению этой переменной. А>Мне кажется IsPostBack тут не поможет, или я ошибаюсь? Еще бы раз то же самое, но по русски :) Если у вас меняется содержимое страницы в зависимости от некоторой переменной, то например так: public partical class Default : System.Web.UI.Page { protected int select = 1; protected void Page_Load(object sender, EventArgs e){ if(!IsPostBack) SetContent(); } protected void Button1_Click(object sender, EventArgs e){ select = 1; SetContent(); } protected void Button2_Click(object sender, EventArgs e){ select = 2; SetContent(); } SetContent(){ // Заполнение нужным контентом страницу } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 18:22 |
|
||
|
Обработчик нажатия на кнопку _до_ Page_load()
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, GlebZ, Вы писали: А>>Почему обработчик нажатия на кнопку вызывается после Page_Load() и подскажите, пожалуйста, как сделать наоборот? GZ>А зачем? Более качественно используем Page.IsPostBack при Page_Load() и все будет в шоколаде. Так у меня просто при нажатии на 2 разных кнопочки меняется значение одной переменной, в соответствии с тем, какую кнопочку нажали (у каждой свой обработчик) И надо просто, чтобы после нажатия на эти кнопочки страница перегрузилась согласно новому значению этой переменной. Мне кажется IsPostBack тут не поможет, или я ошибаюсь? Не поможет. Но пригодится. Все то что у Вас в Page_Load нужно выделить в отдельную функцию и в Page_Load вызывать ее только в случае !IsPostBack. И естественно вставить ее в обработчики каждой из кнопок. Успеха. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 18:27 |
|
||
|
Обработчик нажатия на кнопку _до_ Page_load()
|
|||
|---|---|---|---|
|
#18+
В дополнение к сказанному мной по-русски: Implementing Client Callbacks Without Postbacks In the default model for ASP.NET Web pages, the user interacts with a page and clicks a button or performs some other action that results in a postback. The page and its controls are re-created, the page code runs on the server, and a new version of the page is rendered to the browser. However, in some situations, it is useful to run server code from the client without performing a postback. If the client script in the page is maintaining some state information (for example, local variable values), posting the page and getting a new copy of it destroys that state. Additionally, page postbacks introduce processing overhead that can decrease performance and force the user to wait for the page to be processed and re-created. To avoid losing client state and not incur the processing overhead of a server roundtrip, you can code an ASP.NET Web page so that it can perform client callbacks. In a client callback, a client script function sends a request to an ASP.NET Web page. The Web page runs a modified version of its normal life cycle — the page is initiated and its controls and other members are created, and then a specially marked method is invoked. The method performs the processing that you have coded and then returns a value to the browser that can be read by another client script function. Throughout this process, the page is live in the browser. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 18:38 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33919692&tid=1390579]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
135ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 272ms |
| total: | 487ms |

| 0 / 0 |
