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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите про AJAX, Вызов клиентского скрипта 
:(
    Опции темы
Mr_Smith
Дата 4.6.2007, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Здравствуйте.
Нашел статью:
http://blogs.gotdotnet.ru/personal/crash/C...5A#commentstart
Решил попробовать сделать такое

С реализацией процесса запуска окна загрузки проблем нет: ставлю на событие OnClientClick="ShowLoad(true);"


А вот как запустить на клиенте  "ShowLoad(false);" после окончания обработки запроса ?
 



PM MAIL ICQ   Вверх
Mr_Smith
Дата 6.6.2007, 06:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



уточню вопрос:
1. Как можно запустить зарегистрированный клиентский скрипт в принципе?
полазив по Page.ClientScript  я нашел только как его регистрировать.
Еще правда можно его повесить на OnClientClick и на события формы, зная его заранее  типа <body OnLoad="dd()"> 

но вот как запустить его по условию типа

Page_OnLoad()
{
Page.Run("myjavascript_func()");

}
PM MAIL ICQ   Вверх
Mymik
Дата 7.6.2007, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

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



Mr_Smith, 
Код

Page.ClientScript.RegisterStartupScript();

Регестриует код, который должен будет запуститься при окончательно загрузке страницы.
Дело в том, что onload событие в разных браузерах запускается по разному. К примеру в FF он запускается несколько раз и для того чтобы перехватывать последнее событие (когда реально загружена страница окончена) нужно подключаться к другому событию.
А ребята из Microsoft решили не заморачиваться и просто тот код, который должен быть запущен когда страница загружена. Они просто вписывают нужный тебе JS-код в самый конец документа, тем самым добиваются того, чтобы он запускался когда тебе это нужно будет. 


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Mr_Smith
Дата 7.6.2007, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо за информацию, такой момент мне был незнаком.
Но вообще то я спрашивал об ином:
каким образом принудительно запустить уже зарегистрированную яваскрипт функцию?


цель всего  - при завершении AJAX запроса просто вызвать javascript функцию.

мне нужно сделать тоже что происходит на этом форуме: при запросе выскакивает окно "подождите идет загрузка", после оно исчезает. Выводить окно у меня получается, но я не могу перехватить момент когда запрос выполнен и его надо гасить.

Это сообщение отредактировал(а) Mr_Smith - 7.6.2007, 12:08
PM MAIL ICQ   Вверх
Mymik
Дата 7.6.2007, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

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



Mr_Smith, AFAIK, после выполнения запроса, а точнее взятие его респонса делается всему этому делу eval() эта функция принимает строчку и выполняет эту строчку. А следовательно должно быть достаточно просто в выходной поток добавить JS код, который не является отдельной функций(не описан как function(){}), а просто вызывает функцию.
НО в asp.net ajx rc1 есть же ж UpdateProgress контрол который отображается пока идет работа по отправке обработке на сервере, принятии на клиент и обработке на клиенте.
Посмотри лучше его. Но Если тебе нужно что-то другое. То лучше посмотри выполняется ли eval строчки... она вообще-то нужна очень. А иначе ты не сможешь запустить скрипт, потому что он так и останется строчкой.



--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Mr_Smith
Дата 7.6.2007, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Понятно, но не очень. 
eval()  тут для позднего связывания. но вот рабочий код с этим я представить не могу. Можешь показать простой код-пример ?

Про  UpdateProgress  спасибо. буду копать-разбираться.  
PM MAIL ICQ   Вверх
Mymik
Дата 7.6.2007, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

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



Mr_Smith, eval я написал с маленькой буквы... Ну-у-у. Вобщем наверное больше моя ошибка.
Вообще в JavaScript Есть функция eval которая принимает строку и преобразует ее в исполняемый код... (почитай про JS потому как тебе будет очень сложно работать с AJAX тогда (если ты не будешь использовать asp.net ajax rc1, да и то не факт))


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
yray
Дата 21.6.2007, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.6.2006
Где: Запорожье, Украин а

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



Если тема еще актуальна, то хочу посоветовать ссылку, где проблема вызова клиентских скриптов решается очень просто:
http://dev.net.ua/blogs/oshastitko/archive.../11/03/320.aspx

То есть можно зарегистрировать JavaScript функции, которые будут вызываться при каждом обновлении UpdatePanel






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

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

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

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


 




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


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

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