Загрузка страницы стреляет дважды в Firefox

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

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 на каждой загрузке страницы, но счетчики на моем datalist и formview всегда находятся позади и ступили 2 т.е.

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

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

Это становление довольно печальным.

6
задан Toribio 28 September 2012 в 00:25
поделиться

6 ответов

Из того, что я вижу в вашем вопросе Проект Voldemort кажется самым близким. Посмотрите на страницу проектирования .

Единственная проблема, которую я вижу, заключается в том, как он будет обрабатывать огромные файлы, и, согласно этому потоку , не все хорошо. Но вы всегда можете обойти это довольно легко с помощью файлов. В конце концов - это точное назначение файловой системы. Посмотрите на список википедий файловых систем - список огромный.

-121--3213541-

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

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

-121--4096453-

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

Возможно, стоит посмотреть.

24
ответ дан 8 December 2019 в 02:46
поделиться

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

1
ответ дан 8 December 2019 в 02:46
поделиться

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

0
ответ дан 8 December 2019 в 02:46
поделиться

Обычно причина, по которой страница_load уходит дважды, - это то, что у вас есть autoventwireup = true в ASCX / ASPX, и вы явно связываете событие нагрузки на метод Page_Load Counce (в кодовом месте).

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

0
ответ дан 8 December 2019 в 02:46
поделиться

Я знаю следующие вещи.

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

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

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

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

3
ответ дан 8 December 2019 в 02:46
поделиться

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

2
ответ дан 8 December 2019 в 02:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: