Обновление Aspx-страницы каждые 10 сек

Тема в разделе ".NET", создана пользователем EuGenius, 2 июн 2007.

Статус темы:
Закрыта.
  1. EuGenius

    EuGenius Гость

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

    есть такой код. таймер работает(правда как-то коряво).но время на странице не отображается. может надо как-то обновлять....?
    Код (Text):
    Timer timer10; 
    protected void Page_Load(object sender, EventArgs e)
    {      
    timer10 = new Timer();
    timer10.AutoReset = true;
    timer10.Interval = GetNewInterval();
    timer10.Elapsed += new ElapsedEventHandler(timer_Elapsed);
    FormLoad();
    timer10.Start();
    }
    protected void timer_Elapsed(object source, System.Timers.ElapsedEventArgs e)
    {    
    timer10.Stop();
    FormLoad();
    timer10.Interval = GetNewInterval();
    timer10.Start();  


    }
    protected void FormLoad()
    {
    Time.Text = DateTime.Now.ToShortTimeString();

    }
    protected double GetNewInterval()
    {
    double interval = 1000*(DateTime.Now.Second % 10.0f);
    if (interval == 0.0) interval = 10000;
    return interval;
    }
    Благодарю за помощь.
     
  2. Pasha

    Pasha Гость

    Для: EuGenius
    Насчет таймера: почитай внимательно про жизненный цикл aspx-страницы. Вот хотя бы эту статью. Все, что останется после рендеринга от контрола Time - это кусочек текста в HTML пару байт в поле ViewState. Сам объект, вместе с таймером, формой и страницей, будет отдан в лапы сборщика мусора.

    А для обновления страницы надо вставить
    Код (Text):
    <meta http-equiv="refresh" content="10">
    между тэгами head.
     
  3. EuGenius

    EuGenius Гость

    Хорошо. а как же мне тогда поступить. мне надо каждые 10 сек выбирать разную инфу из бд. я думал это делать по таймеру...
     
  4. NikSoft

    NikSoft Гость

    Для: EuGenius
    Используй ASP.NET AJAX. Вот ссылка http://ajax.asp.net/
     
  5. NikSoft

    NikSoft Гость

  6. Pasha

    Pasha Гость

    Для: NikSoft
    <!--QuoteBegin-NikSoft+3:06:2007, 08:08 -->
    <span class="vbquote">(NikSoft @ 3:06:2007, 08:08 )</span><!--QuoteEBegin-->Решение, альтернативное "refresh" , приводится здесь
    [snapback]67930" rel="nofollow" target="_blank[/snapback]</div>[/quote]Автору "альтернативного" решения надо оторвать руки за использование Form1.Post1.click(); Для вызова постбэка из скрипта надо использовать ClientScriptManager.GetPostBackEventReference

    Для: EuGenius
    В документации ajax.asp.net есть пример с обновлением части страницы по таймеру: http://ajax.asp.net/docs/tutorials/IntroToTimerControl.aspx
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей