2012-03-20 2 views
0

У меня есть огромная таблица HTML (а не таблица на самом деле, но div), которая генерирует и загружает очень долго в браузер. Поэтому я решил попробовать эту таблицу по частям. Я имею в виду рендеринг строк, поскольку они готовы на стороне сервера. Используя это, пользователь может увидеть некоторую информацию на странице, даже если она не полностью создана на стороне сервера.Response.Write части html

Я пытался играть с обработчиком HTTP и

context.Response.Write 
context.Response.Flush(); 

Но без удачи. Может ли кто-нибудь помочь мне с потоковой передачей этих частей html с серверной стороны клиенту?

+0

ASP.NET MVC 3 не работает с Response.Write и т. Д. Не могли бы вы объяснить, почему таблица настолько огромна и почему вы используете divs? – Rhapsody

+0

Не актуально сейчас. Он работает, когда я переместил этот обработчик в новый проект. Он не работает в старой. Расследование .... – Anubis

+0

Вы можете попробовать выполнить подкачку сервера. Или загрузить данные с помощью нескольких запросов AJAX. –

ответ

0

Сверху моей головы вы можете сделать полный вывод на стороне сервера, сохранить его в сеансе, а затем сделать несколько вызовов ajax для извлечения данных в куски. Это соответствовало бы требованиям рендеринга на стороне сервера и позволяло бы пользователю сразу увидеть первую часть страницы.

Является ли это даже осуществимой идеей?

+0

Неплохая идея, но мне кажется, что несколько вызовов ajax будут обрабатываться намного медленнее, чем один поток отображаемого содержимого html. Другая проблема: как визуализировать элементы управления MVC из обработчика HTTP – Anubis

+0

True. Но основная проблема, которую вы пытаетесь решить, - это чрезвычайно большой размер файла, который вы возвращаете пользователю (5 МБ). Что касается пользователя, это будет более быстрым и более отзывчивым. Разница в скорости не имеет отношения к пользователю. Что касается того, как визуализировать элементы управления MVC из обработчика HTTP, я уверен, что это было сделано раньше. –