Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[44.206.227.65] |
|
Сообщ.
#1
,
|
|
|
Пустая страница с одной кнопкой. Кнопка выполняет обратную отправку и на сервере обрабатывается событие onClick. Если после щелчка на кнопке попытаться обновить страницу, то при каждом обновлении на сервере срабатывает обработчик Button1_Click, хотя на кнопку по логике не нажимали. Как избавиться от этого?
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> Добавлено Причем если на странице несколько кнопок, то инициировать событие будет только последняя нажатая. |
Сообщ.
#2
,
|
|
|
i++, Refresh всегда повторяет последний PostBack, если для тебя важно определить нажата кнопка или это произошло по нажатию Обновить, то посмотри следующие линки:
http://www.joel.net/code/refresh_capture.aspx http://jarednevans.typepad.com/technoblog/2005/01/jareds_techno_b.html http://www.codeproject.com/KB/aspnet/Detecting_Refresh.aspx |
Сообщ.
#3
,
|
|
|
Еще один "современный" вариант - завернуть кнопку с ее контекстом в ajax-контейнер. Он лишен рассматриваемой проблемы.
|
Сообщ.
#4
,
|
|
|
Так это особенность ASP.NET?
|
Сообщ.
#5
,
|
|
|
Цитата i++ @ Так это особенность ASP.NET? Нет, это особенность http. Факт нажатия на кнопку отражается в тексте http-запроса, при рефреше запрос повторяется, соответственно кнопка "нажимается" еще раз. |