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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> page_load загружается дважды 
:(
    Опции темы
RobinHoodPHD
Дата 16.8.2011, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Доброго времени суток!

Столкнулся с такой проблемой - Page_load отрабатывает дважды: т.е. если поставить на ней точку останова, то она вызовется дважды при обращении к странице. Тестирую на девелоперском сервере (тот что встроен в 2010 студию).

Первым делом я отрубил AutoEventWireup причем как на самой странице, так и на мастер странице. - Не помогло.
Гугл и форумы говорят 5 вещей:

0. Так и должно быть - учи матчасть. (имхо полный бред)
1. Отключи AutoEventWireup. (отключил - не помогло)
2. Это из-за того что запускаешь на девелоперском сервере (хорошо если так, но хотелось бы знать точно)
3. Все из за какого-нибудь контрола типа Gridа (нифига, страница пустая вообще)
4. Из-за того, что некоторые ресурсы не были найдены (АГА!)

Вот 4 как раз и помогло. В мастер-пэйдже был контрол с картинкой с пустым свойством src. Как только я подсунул туда существующую картинку и еще добавил иконку сайта "favicon.ico"  - page_load начал вызываться один раз. 

Внимание! Вопрос:
Получается, что если вдруг каким-то чудом не найдется какой-нибудь ресурс при запросе (а это имхо может быть запросто при реальной работе веб-приложения) то страница начнет грузится дважды - дважды подгрузятся скрипты, дважды пройдет обращение к базе - результат: ошибки, скорость падает.
Есть ли способ решить эту проблему так, чтобы даже при отсутствии какого либо ресурса page_load отрабатывал один раз???

Спасибо за Ваши ответы.

PS:
-- Прошло часа 3 и я дописал сюда вот это:
Я добавил пользовательский контрол на страницу и все опять стало плохо - страница стала опять грузится два раза не смотря ни на какие там src и favicon.ico.
Убив еще три часа, пришел к выводу, что в принципе двойная загрузка page_load мне не мешает (кроме того что это мне непонятно) Основная проблема в том, что у меня дважды вызывается клиентская функция, привязанная к $('document').ready. Вот это в мое сознание вообще никак не влезает - ладно на сервере дважды вызвалась процедура, но почему браузер дважды запустил событие загрузки страницы?
При этом я успешно избавился от этого таким вот извращенным образом:
Код

var trick;
$(document).ready(
    function () {
        if (typeof (trick) !== 'undefined' && trick != null) {
            trick += 1
        }
        else trick = 1

        if (trick > 1) return; // При повторной загрузке здесь будет значение 2
}
);




Это сообщение отредактировал(а) RobinHoodPHD - 17.8.2011, 00:22
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

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

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

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


 




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


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

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