Почему Google Chrome выполняет полную перезагрузку страницы при обратной передаче? - PullRequest
1 голос
/ 27 сентября 2010

Я создаю один из моих первых инструментов Asp.Net и столкнулся с небольшим ударом.

В настоящее время я выполняю обратную передачу по нажатию кнопки, которая выполняет некоторые вычисления на стороне сервера. Затем серверный код использует эти вычисления для изменения содержимого div. В IE и Firefox при обратной передаче div обновляется, как и ожидалось.

Однако в chrome все постбэки полностью обновляют всю страницу. Что является причиной этого и есть ли способ обойти это поведение?

Обновление: ClientSide У меня есть следующее ..

    <asp:Button ID="Button2" Style="float: right" runat="server" 
OnClick="S_ButtonClick" Text="Calculate" />

Который вызывает метод, обобщенный так.

protected void S_ButtonClick(object sender, EventArgs e) 
    {
        //Code parsing values from textboxes ect.

        //Do Some Calculations

        //Output Results
        outputDiv.InnerHtml = "<h2>Foo</h2><br/>";
        outputDiv.InnerHtml += "Bar: " + calcValue;

    }

Возможно, что когда этот постбэк (если я правильно понимаю) происходит, он все еще полностью перезагружается в firefox и т. Д., Но он этого не показывает. Это эффективно маскирует обратную передачу. Однако, когда я тестирую в chrome, любая обратная передача полностью очищает страницу перед перезагрузкой состояния. Надеюсь, это проясняет именно то, что я спрашиваю. Кроме того, мое использование C # /. Net может быть несколько ошибочным, и я готов комментировать это.

1 Ответ

2 голосов
/ 27 сентября 2010

Насколько я понимаю, частичные обратные передачи ASP.NET AJAX поддерживаются только в тех браузерах, которые ASP.NET может обнаружить. Последнее, что я слышал (некоторое время назад), это Firefox и Safari, а не Chrome. В этом случае он прибегает к полному обратной передаче.

Для реализации обновлений страницы я бы порекомендовал вам перейти на jQuery или другой широко поддерживаемый инструментарий AJAX. (jQuery поддерживается Microsoft, если в этом есть проблема) В этом вопросе немного больше сантехники, но не намного.

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