回答
如果我理解正確的話,我認爲你應該使用客戶端(JavaScript)定時器。你不能爲此使用服務器端定時器。
當您檢測到錯誤條件時,相應地更新標籤並將其顯示給用戶。同時你調用一個客戶端定時器,它會在30秒後回發。
E.g.將下面的計時器代碼到你的頁面:
<script>
function StartTimer()
{
setTimeout('DoPostBack()', 30000); // call DoPostBack in 30 seconds
}
function DoPostBack()
{
__doPostBack(); // invoke the postback
}
</script>
在錯誤條件的情況下,你必須確保客戶端定時器將啓動:
if (error.Code == tooManyClientsErrorCode)
{
// add some javascript that will call StartTimer() on the client
ClientScript.RegisterClientScriptBlock(this.GetType(), "timer", "StartTimer();", true);
//...
}
我希望這幫助(代碼未經測試,因爲我現在沒有可用的Visual Studio)。
更新:
以 「模擬」 點擊一個按鈕,你必須傳遞到按鈕的客戶端ID爲__doPostBack()方法,如:
function DoPostBack()
{
var buttonClientId = '<%= myButton.ClientID %>';
__doPostBack(buttonClientId, ''); // simulate a button click
}
對於一些其他的可能性,請參閱以下問題/回答:
這不是我想要做的。當我發現一個錯誤的情況我顯示消息給用戶(這是那一刻,我想我可以回發 - 刷新網站,這樣的新文本將顯示)和30秒後重試失敗的操作 - 這工作正常。 – agnieszka 2009-01-03 16:54:00
從客戶端強制回發,你可以直接調用__doPostBack方法
它有兩個參數,EVENTTARGET和EVENTARGUMENT;因爲你在正常的asp.net循環之外進行這個調用,所以你需要在你的頁面加載事件(或init,你的選擇)上檢查IsPostBack - 如果它是回發,那麼你需要看看滾動的那兩個參數作爲表單元素(Request.Form [「__ EVENTTARGET」])。檢查他們的價值,看看是否回發從你的電話或其他控件之一,來到如果這些比賽的價值,你從客戶端傳遞什麼,然後根據需要更改標籤測試
- 1. cocos2d:如何設置一個計時器
- 2. 如何設置在asp.net中使用計時器的計數
- 3. 在ios中設置一個計時器
- 4. 在Node.js中設置一個計時器
- 5. 在asp.net頁面中設置計時器
- 6. 如何在C++中設置計時器?
- 7. 如何在LIBGDX中設置計時器
- 8. 如何在C#中設置計時器?
- 9. 如何在CakePHP中設置計時器?
- 10. 如何在android中設置計時器?
- 11. 如何在HTML中設置計時器?
- 12. 如何在PHP中設置計時器?
- 13. 如何在mootools中設置計時器
- 14. 我如何設置一個計時器在javascript
- 15. Mojo SDK - 設置一個計時器
- 16. 設置一個jquery計時器
- 17. 如何設置一個圖形設計器來處理Asp.Net MVC 3 Razor Views?
- 18. 如何設置一個計時器,但不要重複運行
- 19. 有沒有辦法在jquery中設置一個計時器
- 20. 如何在JavaScript中設置計時器持續時間?
- 21. 如何在jquery倒數計時器中設置時區
- 22. 如何設置一個計時器,在運行時也檢查事件
- 23. 如何使用javascript設置計時器
- 24. 如何設置分頁計時器php
- 25. 如何設置計時器功能
- 26. 如何設置文本的計時器?
- 27. 只有當按鈕按下時,如何設置一個計數器定時器?
- 28. 如何在C#中創建一個計時器計數器
- 29. Python:你如何在循環中設置一個定時器?
- 30. 在Swift中設置計時器
你能發表一些代碼嗎?計時器是一個JavaScript計時器嗎? – M4N 2009-01-03 15:04:14