У меня есть страница с таймером, которая используется как триггер на UpdatePanel. На странице также есть TabContainer и несколько TabPanels. Посмотрите на это question для получения дополнительной информации. В принципе, у меня есть UpdatePanel как элемент в каждой вкладке ContentTemplate TabPanel, а UpdatePanel запускается таймером.Update PageTitle on Timer.Tick
На моей странице отображаются данные, читая базу данных по каждому тику. У меня есть следующий код, работающий на каждый Timer.Tick в моем коде:
protected void timeRefresher_Tick(object sender, EventArgs e)
{
UpdateLivePageTitle();
}
UpdateLivePageTitle()
функция считывает новую информацию из базы данных и устанавливает Page.Title соответственно. Однако эта информация, конечно же, не отправляется в браузер, потому что нет полной обратной почтовой страницы - только асинхронная обратная передача для панелей обновлений. В результате заголовок моей страницы не обновляется до тех пор, пока вся страница не будет отправлена назад, что в первую очередь разрушает цель использования UpdatePanels.
Я полагаю, что был бы способ сделать это с помощью элемента JS document.title
и вызвать его из UpdateLivePageTitle(). Но на данный момент я не смог понять, как это сделать. Я попытался с помощью следующих в моей UpdateLivePageTitle()
функции:
string updatePageTitleScript = String.Format("document.title = '{0}'", newPageTitle);
ToolkitScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "UpdatePageTitle", updatePageTitleScript, true);
Но результатом этого было то, что мой TabContainer остановился рендеринга. Я также не уверен, что будет работать с асинхронными частичными обратными ссылками. Есть идеи?
Спасибо!
Настройка page.Title не работает, поэтому я рассматривал альтернативные решения. Точка с запятой сделала трюк. Слава богу, это была просто глупая синтаксическая проблема! – sohum
@sohum: Это странно. Я уверен, что я видел что-то название страницы, связанное с исходным кодом библиотеки. Я на самом деле не пытался это сделать, так что, возможно, это не работает так. –