簡體   English   中英

經過一段時間后生成回發

[英]Generate a postback after some time has passed

經過一段時間后是否可以生成回發? 假設:我有一些用戶必須在文本框中鍵入的文本。 如果他在接下來的1分鍾內未輸入任何內容,則該頁面應刷新以顯示警告或類似內容

本文應該會有所幫助: http : //www.codeproject.com/Articles/12293/Auto-postback-in-ASP-NET

但是,您必須在回發方面集成您自己的業務邏輯,否則就不會,因為您沒有包含源代碼。 但是,此示例包含StopTheClock()方法,因此您可能希望將某種“ OnChange”事件附加到文本框中,以在值不為空時停止時鍾。

另一種方法是在每個刻度之后(在這種情況下為1秒)並在回發之前(form.submit)檢查文本框的值,然后如果textbox.value不為空,則僅停止計時器。

<script language="JavaScript" type="text/javascript">
<!--
// Script to generate an automatic postBack to the server
var secs
var timerID = null
var timerRunning = false
var delay = 1000
function InitializeTimer()
{
    // Set the length of the timer,
     // in seconds. Your choise
    secs = 5

    StopTheClock()
    StartTheTimer()
}
function StopTheClock()
{
    if(timerRunning)
        clearTimeout(timerID)
    timerRunning = false
}
function StartTheTimer()
{
    if (secs==0)
    {
        StopTheClock()

        //Generate a Postback to the server
        document.forms[0].submit()  

    }
    else
    {
        secs = secs - 1
        timerRunning = true
        timerID = self.setTimeout("StartTheTimer()", delay)
    }
}
//-->
</script>


<body onload="InitializeTimer()">
<form id="form1" runat="server">
 <div>
       The time is:   <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>

我強烈建議AGAINST這樣的方法。 您需要做的只是通知用戶或修改頁面的一部分。 完全回發確實是浪費。 相反,我建議使用Ajax。 也許使用javascript添加一個計時器,偵聽所需的事件,並根據需要引發ajax請求。

暫無
暫無

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

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