Страница загружается дважды в Firefox - PullRequest
6 голосов
/ 28 января 2010

ОК, сначала немного фона: у меня есть страница, показывающая количество просмотров (или просмотров) любого выбранного элемента. Процедура счетчика посещений, которая вызывается при каждой загрузке страницы, т.е.

if (Request.QueryString.HasKeys())
{
    // get item id from icoming url e.g details.aspx?itemid=26            

    string itemid = Request.Params["itemid"];

    if (!Page.IsPostBack)
    {
        countHit(itemid);
    }
}

Проблема: я ожидал, что счетчик будет увеличиваться на 1 при каждой загрузке страницы, но счетчики в моем списке данных и в форме просмотра всегда отстают и стоят на 2, т.е.

вместо 1, 2, 3, 4, это 0, 2 , 4, 6.

Кажется, что загрузка страницы происходит дважды. Позже я обнаружил, что это происходит только при использовании Mozilla Firefox. Страница отлично работает с другими браузерами, такими как IE

Это становится довольно неприятно.

Ответы [ 9 ]

24 голосов
/ 29 января 2010

Я видел стрельбу Page_Load дважды, если у вас есть <asp:Image> или <img runat="server"> на странице, для которой не указан атрибут src.

Может быть стоит посмотреть.

3 голосов
/ 02 апреля 2010

Мне известны следующие вещи.

Если у вас есть img control с пустой строкой, присвоенной атрибуту src. Возможно, вы забыли назначить imageurl или захотели назначить imageurl в коде на основе некоторого условия, и это условие никогда не выполняется, и в итоге пустая строка присваивается атрибуту src, когда ASP.Net отображает страницу.

Если у вас есть пустая строка, назначенная атрибуту href для ссылки html для таблицы стилей.

Если у вас пустой атрибут src, установленный в скрипт.

для получения дополнительной информации обратитесь к этой статье. http://patelshailesh.com/index.php/page_load-event-fires-twice-with-firefox-only

2 голосов
/ 07 июля 2011

Мы столкнулись с подобной проблемой, когда fiddler показал, что одна из наших страниц загружена дважды. Это произошло только в Firefox и Chrome. Решение было изменить:

background-image:url('');

до

background-image:none;
2 голосов
/ 06 июня 2010

У меня тоже была эта проблема ... в моем случае firebug вызывал дополнительный вызов.

1 голос
/ 28 сентября 2012

У меня тоже была эта проблема. Я обнаружил, что антивирусная панель AVG на Firefox делает еще один удар по этой странице, и у меня было 2 попадания за обновление.

Просто зайдите в Инструменты> Дополнения и отключите панель инструментов AVG, если она у вас есть. В противном случае это может быть вызвано другим расширением, таким как добавленное антивирусами или другим программным обеспечением.

Удачи

1 голос
/ 29 января 2010

Попробуйте отключить FireBug, если он у вас включен.

0 голосов
/ 19 апреля 2011

Якорный тег с пустым href, т.е. href="" также является проблемой. Используйте href="#" везде, где URL-адрес не требуется в теге привязки.

0 голосов
/ 29 января 2010

Обычно причина того, что page_load запускается дважды, заключается в том, что у вас есть AutoEventWireup = true в ascx / aspx И вы явно связываете событие Load с методом Page_Load (в коде сзади).

Но тогда вы должны увидеть это поведение во всех браузерах.

0 голосов
/ 28 января 2010

Наиболее вероятная причина в том, что вы вызываете процедуру дважды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...