【发布时间】:2011-08-20 16:55:10
【问题描述】:
我的 asp.net 项目中有一个 aspx 页面,它有一个按钮控件 单击按钮后,使用 F5 键或浏览器的刷新按钮刷新页面后,不是将 IsPostBack 属性设置为 false,而是将其设置为 true。
谁能帮我解决这个问题?
【问题讨论】:
标签: ispostback
我的 asp.net 项目中有一个 aspx 页面,它有一个按钮控件 单击按钮后,使用 F5 键或浏览器的刷新按钮刷新页面后,不是将 IsPostBack 属性设置为 false,而是将其设置为 true。
谁能帮我解决这个问题?
【问题讨论】:
标签: ispostback
点击按钮会触发表单的HttpPost,并将其发布到同一页面,这就是所谓的回发。刷新页面会触发最后执行的操作,在本例中是一个帖子。大多数浏览器会在用户刷新发布的页面时警告用户。
如果您不希望这种行为,您必须确保在发布后执行获取操作(所谓的“发布后重定向/发布后获取”技术)。
实现它的一种方法是通过以下方式结束回发操作:
Response.Redirect(Request.RawUrl);
【讨论】:
阅读您的问题后,单击 asp:button 后的页面刷新将始终发送回发,因为按钮的 autopostbak 控件并且您无法更改它的默认行为。我可以通过单击您不想要回发的按钮来弄清楚吗?
如果您希望部分更新页面,请使用<asp:UpdatePanel>
【讨论】: