2011-03-25 36 views
0

通過Timer加載updatepanel後,我無法從updatepanel發出任何異步請求。在C中使用UpdatePanel和Timer進行延遲加載#

樣品的aspx代碼:

<asp:UpdatePanel runat="server" UpdateMode="Conditional"> 
<ContentTemplate> 

    <%--The Timer that causes the partial postback--%> 
    <asp:Timer runat="server" Interval="100" OnTick="Timer_Tick" Id="Timer1"/>     

    <asp:ImageButton ID="btnSaveEmployeePrevJobs" runat="server" ImageAlign="AbsBottom" 
    ImageUrl="~/Images/saveOff.gif" onmouseout="this.src='../Images/saveOff.gif'" 
    onmouseover="this.src='../Images/saveOn.gif'" OnClick="btnSaveEmployeePrevJobs_Click"/> 

</ContentTemplate> 

服務器端代碼:

private void Timer_Tick(object sender, EventArgs args) 
{ 
    Timer1.Enabled = false; 
    //some code 
} 

protected void btnSaveEmployeePrevJobs_Click(object sender, EventArgs e) 
{ 
    // some code 
} 

問題:無法按鈕點擊提高點擊事件 ,基本定時器得到 啓用(不知道爲什麼),它再次呼叫 而不是呼叫荷蘭國際集團點擊 事件..提前

謝謝..

回答

0

Atlast我已經解決了我的概率,這是(在會話中存儲視圖狀態)和異步請求......這是給新的視圖狀態沒有發生衝突。在回發上查看狀態。

感謝您的時間...

0

我會使用jQuery來代替,因爲我覺得100毫秒是非常小,所以你的服務器端代碼可仍在加載並得到執行,後計時器滴答2次左右。

加載DOM,寫一個簡單的jQuery函數從服務器獲取數據,填充你的頁面中,然後微笑:)

+0

我只是優化現有的代碼,這是建立在這樣的UpdatePanel使用jQuery將是一個巨大的變化.. :( – xtremist 2011-03-28 06:50:39

0

你嘗試:

protected void Timer1_Tick(object sender, EventArgs e) 
{ 
    //Timer1.Enabled = false; 
    Label1.Text = "Panel refreshed at: " + DateTime.Now.ToLongTimeString(); 
} 

需要注意的是,如果您正在設置UpdateMode="Conditional",則需要明確呼叫UpdatePanel.Update();否則刪除該屬性。

結帳:Tutorial: How to refresh an UpdatePanel control at a timed interval

+0

我試過,但問題依然存在。 。:( – xtremist 2011-03-28 06:49:33