2011-12-09 3 views
0

私は奇妙な問題を抱えています。私はタイマーによってトリガーされる更新パネルを持っています。UpdatePanelのタイマーは、ある種の完全なポストバックを引き起こします。

また、このページには、DBを呼び出してそこからデータを取得する関数があります。関数は更新パネルから呼び出されていないか、またはそれに関連しています。

問題は、目盛りと更新パネルが更新されるたびに、データを再度取得するために、自分のDBサーバー(この関数はpage_Loadセクションにあります)を呼び出すことがログファイルに表示されることです。

<asp:Timer runat="server" id="UpdateTimer" interval="5000" ontick="UpdateTimer_Tick" /> 
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
    <Triggers> 
     <asp:AsyncPostBackTrigger controlid="UpdateTimer" eventname="Tick" /> 
    </Triggers> 
    <ContentTemplate> 
     <span id="s1" runat="server"></span> 
    </ContentTemplate> 
</asp:UpdatePanel> 

と背後にあるコード:

protected void UpdateTimer_Tick(object sender, EventArgs e) 
{ 
    DateTime dt = TimeConvertor.getCurrentGameTime(); 
    s1.InnerText = String.Format("Current game time: {0:dd/MM/yyyy HH:mm}", dt); 
} 
が、ページが(それは同じままで、再ロードされているように見えるしません)

私のコードの完全なポストバックを行うにはいないようです

DBからデータを取り出す機能は、ページのpage_loadにあります。

すべてのヘルプは

が更新パネルには、ページ全体を更新していない使用して、あなたに

ドロン

+0

InnerTextを設定した後、 'UpdatePanel1.Update()'を呼び出してみてください。 –

答えて

2

ありがとう高く評価され、唯一の更新パネル内のコントロールが、部分更新は、すべてのサーバーのページを実行したときライフサイクルイベントが発生し、ビューステートとフォームデータは保持されますが、ページをレンダリングすると、更新パネルの一部のみがレンダリングされ、ユーザーに返されます。このリンクPartial page rendering

移動し、セクションの背景にスクロールします。

+0

この記事はポストバックを理解するのに役立ちました。この記事でも私のことを明らかにしました。http://msdn.microsoft.com/en-us/library/ms972976.aspx –

関連する問題