當用戶離開頁面時,它會再次觸發Page_Load事件。如何在code_behind中告訴我們這種情況正在發生,以避免運行自定義函數,因爲Page_Load中的代碼在離開頁面時並不需要運行?檢測用戶何時離開Page_Load事件的頁面
回答
當用戶離開它觸發Page_Load事件的再次
什麼做一個頁面你的意思是通過離開一個頁面?關閉瀏覽器或點擊瀏覽器上的後退按鈕?或移動到另一頁? Page_Load
方法在加載頁面上時或在同一頁面上發生回發時觸發,但不會離開它。
在開始任何操作之前,您可以(也應該)確保客戶端仍處於連接狀態並使用HttpResponse.IsClientConnected
屬性。
- 到客戶端的連接被終止:當滿足下列條件爲真
的IsClientConnected屬性返回false。如果調用Close方法,或者客戶端停止執行Web頁面或瀏覽到其他頁面,就會發生這種情況。
- 處理請求的HttpWorkerRequest對象爲空,或者HttpWorkerRequest.IsClientConnected方法返回false。如果自定義的HttpWorkerRequest對象處理該請求,則可以根據自定義條件設置HttpWorkerRequest.IsClientConnected方法。例如,自定義工作請求可能會在一段時間後強制超時。
http://msdn.microsoft.com/en-us/library/system.web.httpresponse.isclientconnected.aspx
編輯
切換標籤通常火災正常回發,檢測到它,你應該使用:
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostback)
{
//this is first load of this page
}
}
切換asp.net標籤容器中的標籤頁。我在每個選項卡上都有一個不同的頁面(iframe)。所以當一個標籤被激活時,它會從前一個標籤中激發Page_Load事件。 – TroyS
@tszro。好的,我編輯了我的答案。我希望我的答案的第一部分也可以是有用的。 – Dariusz
經過進一步調查,該頁面最初已加載到每個選項卡中,因此IsPostBack只能按時評估爲真。然後,當選項卡頁面被激活時,前一選項卡中的網頁將評估IsPostBack = False,因爲該頁面已被加載。所以我想我必須設置一個會話變量來保存活動標籤頁的名稱,並用它來(運行或不運行)每個頁面中的特定代碼。不知道這是否對任何人有任何意義。 – TroyS
如果我理解正確的問題,你要尋找的IsPostBack屬性:
private void Page_Load() { if (!IsPostBack) { // Any code here will only run the first time the page is loaded } }
- 1. 用戶離開頁面時的事件
- 2. Page_Load在離開頁面時調用
- 3. 檢測用戶何時離開頁面/瀏覽器Flex
- 4. 如何檢查用戶離開頁面
- 5. 當用戶離開頁面時檢測到
- 6. 離開頁面時的事件
- 7. 用戶離開頁面時的事件asp.net
- 8. 當用戶離開事件流時檢測到
- 9. 燒瓶:如何檢測用戶離開頁面?
- 10. 如何檢測用戶是否以PHP離開頁面
- 11. 當用戶離開ckeditor或頁面時觸發事件
- 12. 當用戶離開頁面檢測和寫入Cookie
- 13. JQuery - 檢測離開頁面與刷新
- 14. 在離開頁面時警告用戶
- 15. VideoJS離開頁面的事件
- 16. 離開頁面的Magento事件
- 17. 頁面Page_Load事件與中繼器ItemCommand
- 18. Skype4Py用戶離開事件
- 19. 如何檢測用戶的手指何時離開元素?
- 20. 事件觸發離開頁面
- 21. jQuery可能檢測用戶在Textarea時何時離開?
- 22. 如何檢測用戶離開MMC FormView的時間?
- 23. 如何檢測用戶何時離開EditText?
- 24. 檢查用戶是否離開使用ASP.NET的頁面
- 25. 在主頁的'Page_Load'事件之前,ASP.NET頁面'Page_Load'正在觸發?
- 26. Java Servlets:當用戶離開頁面時文件下載中斷
- 27. 如何知道用戶何時離開頁面並刷新頁面
- 28. 如何檢測用戶何時離開我的網站,而不僅僅是轉到其他頁面?
- 29. AJAX和用戶離開頁面
- 30. 驗證用戶沒有離開頁面
如何在用戶離開頁面,因爲剛剛換到另一個URL通過一個HREF不會觸發回傳? – Christian
切換asp.net選項卡容器中的選項卡頁面。我在每個選項卡上都有一個不同的頁面(iframe)。所以當一個標籤被激活時,它會從前一個標籤中激發Page_Load事件。 – TroyS
使用Luke的答案!ispostback – Christian