Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как отменить PostBack 
V
    Опции темы
StepS
Дата 7.4.2006, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.8.2005
Где: Днепропетровск

Репутация: нет
Всего: нет



Привет, всем !
Есть кнопка, по нажатию на которую, выскакивает javascript:confirm() нужно чтоб по нажатии на Cancel не происходил __doPostBack() как это реализовать ?
Проблема в том что ASP.NET автоматически добавляет на кнопки обработчик __doPostBack, как с этим бороться или может есть альтернативный вариант, но нужно именно кнопка (не ссылка)
PM MAIL ICQ   Вверх
StepS
Дата 7.4.2006, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.8.2005
Где: Днепропетровск

Репутация: нет
Всего: нет



Нашел !!!
Значит так: если не хотите чтобы был постбэк по нажатю на кнопку нужно просто OnClick прописать так:
Код

  btn.OnClick = "return yourfunction()";

или так :
Код

  btn.Attributes["OnClick"] = "return yourfunction()";


Оператор return обязателен ! иначе работать не будет. И тогда: если yourfunction() вручную делает __doPostBack() тогда все будет ок.

Это все касается только HtmlButton т.к. asp:Button - парситься как <button type = "submit"...>

Это сообщение отредактировал(а) StepS - 7.4.2006, 13:33
PM MAIL ICQ   Вверх
Pankon
Дата 28.6.2006, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 2
Всего: 5



Цитата(StepS @  7.4.2006,  13:17 Найти цитируемый пост)
"return yourfunction()";
 - Попробовал... На хтмл странице 
Код

onclick="return yourfunction();__doPostBack('btnKuKu','')"
 !!!! doPostBack - присутствует!!! Просто return заканчивает выполнение скрипта.....

Так как же все-таки действительно отключить doPostBack  smile 
т.е. чтобы сервет не генерировал код __doPostBack('btnKuKu','')
 
PM MAIL   Вверх
Mad
Дата 28.6.2006, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: 1
Всего: 19



Цитата(Pankon @  28.6.2006,  10:36 Найти цитируемый пост)
Так как же все-таки действительно отключить doPostBack  

а зачем ? smile HtmlButton это server-side control, и соответственно ему этот самый doPostBack просто необходим
если тебе нужен клиентский контрол, тогда зачем использовать HtmlButton, просто вместо
Код

<button id="button1" runat=server></button>

пишем
Код

<input type="button"></button>
 


--------------------
user posted image
PM MAIL   Вверх
Pankon
Дата 28.6.2006, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 2
Всего: 5



Цитата(Mad @  28.6.2006,  11:55 Найти цитируемый пост)
а зачем ? 
 Просто хотелось на сервере при load нажначать событиям (btnKuKu.OnClientClick) функции из Page.ClientScript, где программным путем указывались бы ИД, и.д... Можно конечно в хтмл-е <% ... %>, но это уже напоминает "старый" АСП  smile 

Так все таки - есть такая возможность или нет?

Вот например asp:DropDownList имеет свойство AutoPostBack .... smile 
 
PM MAIL   Вверх
Mad
Дата 28.6.2006, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: 1
Всего: 19



Цитата(Pankon @  28.6.2006,  11:16 Найти цитируемый пост)
Вот например asp:DropDownList имеет свойство AutoPostBack .... 

это уже немного другое


Цитата(Pankon @  28.6.2006,  11:16 Найти цитируемый пост)
Просто хотелось на сервере при load нажначать событиям (btnKuKu.OnClientClick) функции из Page.ClientScript, где программным путем указывались бы ИД, и.д... Можно конечно в хтмл-е <% ... %>, но это уже напоминает "старый" АСП

вопервых в ASP.NET блоки <%....%> еще никто не отменял, но если тебе всетаки хочеться именно через свойства, то есть такой элемент
<asp:Literal> и ставь ему свойство Text так как тебе нужно, и когда тебе нужно

например
Код

void OnPageLoad()
{
    if (...)
        literal.Text = "<input type='button' id='someid' onclick='clickHandler1()'>...</input>";
    else
        literal.Text = "<input type='button' id='someid' onclick='clickHandler2()'>...</input>";
}

 


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0600 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.