Изображение загрузки страницы - PullRequest
0 голосов
/ 06 марта 2009

Я делаю веб-страницу ASP.NET, которая генерирует страницы из SQL, когда они не кэшируются. Время их загрузки может составлять от 300 мс до 1,5 с (не исправляйте ваши ответы из базы данных, пожалуйста).

Я лично считаю, что эти значения слишком длинные, и искал решение, которое позволило бы мне проинформировать пользователя о том, что посещаемой странице потребуется некоторое время для загрузки.

Я искал решение, которое могло бы быть через функцию Page_Load, если это возможно. Идеальное решение для меня в этом случае - показать пользователю либо анимированный GIF, либо текст, сообщающий, что страница генерируется.

Кстати, я пишу о программировании в основном приложений для Windows.

Ответы [ 3 ]

1 голос
/ 06 марта 2009

Вы можете начать рендеринг страницы и очистить буфер, вызвав Response.Flush (). Который будет отправлять содержимое буфера в браузер. Затем вам нужно будет отключить графику после загрузки.

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

1,5 секунды не плохо для загрузки страницы, вы уверены, что это стоит ваших усилий и времени?

1 голос
/ 06 марта 2009

Вот пример того, как использовать объект Response для сброса содержимого в браузер и продолжения обработки:

using System;
using System.Web.UI;
using System.Threading;

public partial class _Default : Page
{
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        Response.Write("<h1>please wait...</h1>");
        Response.Flush();

        // simulate load time
        Thread.Sleep(2000);

        Response.Write("<h1>finished</h1>");
    }
}
1 голос
/ 06 марта 2009

Вы хотите сначала вывести загрузочную графику, а затем очистить буфер вывода, чтобы содержимое до сих пор отправлялось в браузер пользователя с помощью Response.Flush().

Когда вы выводите остальную часть контента, вам понадобится немного javascript, чтобы удалить первые отправленные элементы страницы, чтобы загрузка графики исчезла.

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