Asp.net的后台事件绑定是一个很好用的功能。但是在页面提交后如果再刷新页面,就会重新Post页面并调用后台方法。这是几乎所有的浏览器的实现的情况:当你通过Post方式提交一次表单之后,如果直接F5 Refresh,都会重新提交表单!
解决的方法有两个:
1.在简单的情况下,在你的后台事件处理完成之后用 Respone.Redirect(url) 通过 Get 来定向到当前的页面。
2.如果在某些情况下不能使用上面的重定向方法,可以使用Http头的Accept判断页面是否刷新,当页面时刷新的时候Accept的值为*/*。
1 if(Request.Headers["Accept"] == "*/*")
2 {
3 //当前是刷新页面
4 }
2 {
3 //当前是刷新页面
4 }