2009-07-21 103 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的工作方式是序列化页面状态并将其发送到客户端,然后在进行回发(表单发布请求)时返回到服务器。因此,您可以在他的会话中保存关于您的客户端的信息,以了解他之前所在的页面,然后在会话中再次请求同一页面时检查会话。