簡體   English   中英

如何在asp.net中使用計時器控件?

[英]How to use timer control in asp.net?

我正在創建一個在線考試網站,我想為30個問題設置30分鍾的計時器...誰能告訴我如何在asp.net或其他任何簡單方法中使用計時器控件?

一種可能的方式是:

  • 創建一個UpdatePanel,您將在其中插入每個問題和可能的答案
  • 在UpdatePanel中,您可以插入代表問題的UserControl(例如,該UserControl將包含帶有問題的標簽以及一些單選按鈕或帶有答案相關標簽的復選框)
  • 在UpdatePanel中,您可以像在Msdn上的此示例中那樣使用Timer控件http://msdn.microsoft.com/zh-cn/library/bb398865.aspx <asp:Timer id="Timer1" runat="server" Interval="120000" OnTick="Timer1_Tick"> </asp:Timer>
  • 每個時間間隔到期后,將在服務器端觸發Timer控件的OnTick事件中定義的功能; 在那里,您將為UserControl加載下一個問題的值,並檢查測試是否完成或總時間是否已過(例如,將變量的總已過時間相加)

如果需要,您還可以在頁面中顯示倒計時,並使用JavaScript進行更新。

<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
    </asp:Timer> // For one minute
<asp:UpdatePanel ID="UpdatePanel1"
    runat="server">
    <ContentTemplate>
        <asp:Label ID="Label1" runat="server"></asp:Label>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick">
        </asp:AsyncPostBackTrigger>
    </Triggers>
</asp:UpdatePanel>

protected void Timer1_Tick(object sender, EventArgs e)
{
    // Label1.Text = DateTime.Now.Second.ToString();
}

...或者您可以使用JQuery。 設置一個計時器( http://code.google.com/p/jquery-timer/ ),然后在最后觸發一個向上計時操作。 可以利用Ajax嘗試答案等-但這會使其他一切保持在前端。

在更新面板中添加計時器控件是一種可以避免頁面閃爍或總頁面刷新的方式,並且用戶可以獲得流暢的體驗。 但是計時器控制效率很低,因為重復的請求被發送到服務器,這可能導致過載和不必要的資源浪費。 AJAX將是更好的選擇,或者任何客戶端javascript都可能更好。 輪詢是另一種有效的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM