有没有一种方法可以在不使用 asp.net webforms 中的视图状态的情况下检测页面刷新?我想知道这是否可能,因为例如 asp.net mvc 不使用视图状态。
我试图避免一起使用视图状态来保持我的页面尺寸很小。
IsPostBack 不起作用,因为它是 F5 或 Pager 刷新案例,而不是任何事件的回发。
为什么不能在页面中禁用 ViewState 的情况下在后面的代码中使用 IsPostback?这样你就可以在后面的代码中做任何你需要做的事情,而不用担心 ViewState 会阻塞你的页面大小。
您可以通过将 enableViewState 标志添加到 @Page 指令来禁用页面中的 ViewState。
我能想到的唯一另一件事是有一段 javascript 代码可以捕获 F5 的按键,但显然这只会捕获 F5 刷新而不是刷新按钮刷新。
该站点显示了如何使用 Javascript 捕获按键:
http ://www.go4expert.com/forums/showthread.php?t=2733
您可以使用 IsPostBack
. 实际上,您在Page_Load
代码隐藏中放入的任何代码都会在每次刷新页面时运行。还是我误解了你的问题?
http 协议是无状态的,并且在将响应发送给请求集之后,它会删除他的所有跟踪,除了他的会话。webforms 的工作方式是它序列化您的页面状态并将其发送到客户端,然后在您进行回发(表单发布请求)时将其发送回服务器。因此,您可以在他的会话中保存有关他之前访问过的页面的客户信息,然后在他再次请求同一页面时签入会话。