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