2009-07-21 100 views
2

有沒有一種方法來檢測頁面刷新而不使用asp.net webforms中的viewstate?我想知道,如果它甚至可能,因爲asp.net mvc不使用viewstate爲例。檢測頁面刷新沒有viewstate

我試圖避免使用viewstate alltogether來保持我的頁面大小。

+0

你的意思是「頁面刷新」的「F5」?或者你是指某個頁面上的HTTP GET方法? – 2009-07-21 05:32:01

回答

0

您可以使用IsPostBack服務器端檢測刷新頁面。實際上,每次刷新頁面時,您在代碼隱藏中輸入Page_Load的任何代碼都會運行。或者我誤解了你的問題?

0

爲什麼不能在頁面中禁用ViewState的代碼中使用IsPostback?這樣你就可以在代碼後面做任何你需要的事情,而不必擔心ViewState堵塞你的頁面大小。

您可以通過向@Page指令添加enableViewState標誌來禁用頁面中的ViewState。

我能想到的唯一一件事就是擁有一段可以捕捉F5按鍵的JavaScript代碼,但顯然這隻會捕獲F5刷新而不是刷新按鈕刷新。

這個網站展示瞭如何捕捉按鍵用javascript:
http://www.go4expert.com/forums/showthread.php?t=2733

1

IsPostBack不會工作,因爲它的F5或尋呼機刷新案件不是從任何事件回發。

0

http協議是無狀態的,並且在響應被髮送給請求者之後,它將除去他的會話之外的所有跟蹤。 Webform的工作方式是序列化頁面狀態並將其發送到客戶端,然後在進行回發(表單發佈請求)時返回到服務器。因此,您可以在他的會話中保存關於您的客戶端的信息,以瞭解他之前所在的頁面,然後在會話中再次請求同一頁面時檢查會話。