私が達成する必要があるのは、5 秒ごとにラベルを更新することです。そのために、UpdatePanel コントロールを使用しています。マークアップは次のとおりです。
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="NewsFeed_Item1_Name" runat="server" Text=""></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
サーバー側:
protected void Page_Load(object sender, EventArgs e)
{
// Create a timer
myTimer = new System.Timers.Timer();
// Tell the timer what top do when it elapses
myTimer.Elapsed += new ElapsedEventHandler(UpdateNewsFeed);
// Set it to go off every five seconds
myTimer.Interval = 5000;
// And start it
myTimer.Enabled = true;
}
private void UpdateNewsFeed(object sender, ElapsedEventArgs e)
{
//newsfeedCounter and dt are global variables
if (newsfeedCounter >= dt.Rows.Count)
newsfeedCounter = 0;
string name = dt.Rows[newsfeedCounter]["Name"].ToString();
NewsFeed_Item1_Name.Text = name;
newsfeedCounter++;
}
しかし、どういうわけか、5 秒ごとに UpdateNewsFeed 関数がトリガーされません。
上記のコードの何が問題になっていますか?