当用户离开页面时,它会再次触发Page_Load事件。如何在code_behind中告诉我们这种情况正在发生,以避免运行自定义函数,因为Page_Load中的代码在离开页面时并不需要运行?检测用户何时离开Page_Load事件的页面
回答
当用户离开它触发Page_Load事件的再次
什么做一个页面你的意思是通过离开一个页面?关闭浏览器或点击浏览器上的后退按钮?或移动到另一页? Page_Load
方法在加载页面上时或在同一页面上发生回发时触发,但不会离开它。
在开始任何操作之前,您可以(也应该)确保客户端仍处于连接状态并使用HttpResponse.IsClientConnected
属性。
- 到客户端的连接被终止:当满足下列条件为真
的IsClientConnected属性返回false。如果调用Close方法,或者客户端停止执行Web页面或浏览到其他页面,就会发生这种情况。
- 处理请求的HttpWorkerRequest对象为空,或者HttpWorkerRequest.IsClientConnected方法返回false。如果自定义的HttpWorkerRequest对象处理该请求,则可以根据自定义条件设置HttpWorkerRequest.IsClientConnected方法。例如,自定义工作请求可能会在一段时间后强制超时。
http://msdn.microsoft.com/en-us/library/system.web.httpresponse.isclientconnected.aspx
编辑
切换标签通常火灾正常回发,检测到它,你应该使用:
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostback)
{
//this is first load of this page
}
}
切换asp.net标签容器中的标签页。我在每个选项卡上都有一个不同的页面(iframe)。所以当一个标签被激活时,它会从前一个标签中激发Page_Load事件。 – TroyS
@tszro。好的,我编辑了我的答案。我希望我的答案的第一部分也可以是有用的。 – Dariusz
经过进一步调查,该页面最初已加载到每个选项卡中,因此IsPostBack只能按时评估为真。然后,当选项卡页面被激活时,前一选项卡中的网页将评估IsPostBack = False,因为该页面已被加载。所以我想我必须设置一个会话变量来保存活动标签页的名称,并用它来(运行或不运行)每个页面中的特定代码。不知道这是否对任何人有任何意义。 – TroyS
如果我理解正确的问题,你要寻找的IsPostBack属性:
private void Page_Load() { if (!IsPostBack) { // Any code here will only run the first time the page is loaded } }
- 1. Page_Load在离开页面时调用
- 2. 检测用户何时离开页面/浏览器Flex
- 3. 如何检查用户离开页面
- 4. 离开页面时的事件
- 5. 用户离开页面时的事件asp.net
- 6. 当用户离开事件流时检测到
- 7. 当用户离开页面检测和写入Cookie
- 8. 在离开页面时警告用户
- 9. 页面Page_Load事件与中继器ItemCommand
- 10. 如何检测用户的手指何时离开元素?
- 11. 事件触发离开页面
- 12. jQuery可能检测用户在Textarea时何时离开?
- 13. 如何检测用户何时离开EditText?
- 14. 检查用户是否离开使用ASP.NET的页面
- 15. 在主页的'Page_Load'事件之前,ASP.NET页面'Page_Load'正在触发?
- 16. Java Servlets:当用户离开页面时文件下载中断
- 17. 如何检测用户何时离开我的网站,而不仅仅是转到其他页面?
- 18. AJAX和用户离开页面
- 19. 捕获用户离开页面与jquery
- 20. 验证用户没有离开页面
- 21. 如何在用户离开页面时重置会话?
- 22. Javascript:离开单页面应用程序时的用户确认
- 23. 如何在用户离开页面时检测窗体中未保存的数据?
- 24. 检测事件中离子2应用
- 25. 如何使用jQuery离开页面时添加页面转换
- 26. jsf - 用户离开时的拦截页面
- 27. 当用户离开页面时显示在angularjs中的警报
- 28. 用户离开页面时Seam中的结束对话
- 29. 检测用户何时开始录像
- 30. 如何从运行停止Page_Load事件,如果刷新页面
如何在用户离开页面,因为刚刚换到另一个URL通过一个HREF不会触发回传? – Christian
切换asp.net选项卡容器中的选项卡页面。我在每个选项卡上都有一个不同的页面(iframe)。所以当一个标签被激活时,它会从前一个标签中激发Page_Load事件。 – TroyS
使用Luke的答案!ispostback – Christian