0
我需要從HttpModule中永久或不時地更新ASP.NET頁面。什麼是從HttpModule更新ASP.NET頁面的方法?
這裏是IUpdatablePage接口,爲我們的頁面進行更新的代碼:
interface IUpdatablePage
{
void Update(string value);
}
這裏是HTTP模塊的代碼,我想,可能是:
void IHttpModule.Init(HttpApplication application)
{
application.PreRequestHandlerExecute += new EventHandler(application_PreRequestHandlerExecute);
}
void application_PreRequestHandlerExecute(object sender, EventArgs e)
{
this._Page = (Page)HttpContext.Current.Handler;
}
void HttpModuleProcessing()
{
//... doing smth
IUpdatablePage page = this._Page as IUpdatablePage;
page.Update(currentVaue);
//... continue doing smth
}
這裏我們:
- 將當前請求頁保存在_Page,
- 在HttpModule中處理時訪問IUpdatablePage接口
- 調用Update函數傳遞一些currentValue。
現在頁面獲取Update函數中的值。
public partial class MyPage: System.Web.Page, IUpdatablePage
{
void IUpdatablePage.Update(string value)
{
// Here we need to update the page with new value
Label1.Text = value;
}
}
問題是將這個值傳遞給webform控件的方法是什麼,以便它們能夠立即在瀏覽器中顯示它?
我想刷新頁面的任何方式:使用的UpdatePanel,定時器,IFRAME塊,JavaScript的等
注意,從頁面請求在HTTP模塊正在處理的同時刷新。 請幫我看一下代碼示例(我是網頁初學者)。
的UpdatePanel +定時器聽起來不錯。這種方法有什麼問題? –
我也嘗試過這種組合,但是,令我驚訝的是,它只在http請求完成後更新一次,從來沒有在處理過程中更新。我已準備好通過電子郵件發送完整的項目代碼以獲取詳細信息。 –
沒必要,只需發佈一些代碼片段與問題的描述,並有人會幫助。每當計時器打勾時,定時器應該使頁面發回,所以你應該經常更新你的更新。 –