Javascript 在ASP.NET中离开页面前保存数据

Javascript 在ASP.NET中离开页面前保存数据,javascript,c#,jquery,asp.net,webforms,Javascript,C#,Jquery,Asp.net,Webforms,我有一个asp.net页面。 我没有“保存”按钮(不是我的要求) 我需要在离开此页面之前保存页面数据 我试着用Page\u Unload这样的事件来做,但它不起作用。。。 原因Save方法使用来自页面上元素的数据,如txtBox1.Text我不能使用.ashx处理程序来保存一些ajax(或者我不知道如何在处理程序中使用页面元素,因为它们受保护 那么,除了序列化表单并将其传递给处理程序之外,还有其他解决方案吗?您可以使用onbeforeuload事件。 它应该在卸货前点火。 它允许你询问用户是否真

我有一个asp.net页面。 我没有“保存”按钮(不是我的要求)

我需要在离开此页面之前保存页面数据

我试着用
Page\u Unload
这样的事件来做,但它不起作用。。。 原因
Save
方法使用来自页面上元素的数据,如
txtBox1.Text
我不能使用
.ashx
处理程序来保存一些
ajax
(或者我不知道如何在处理程序中使用页面元素,因为它们受
保护


那么,除了序列化表单并将其传递给处理程序之外,还有其他解决方案吗?

您可以使用
onbeforeuload
事件。 它应该在卸货前点火。 它允许你询问用户是否真的想离开。检查类似的示例


window.onbeforeunload=确认退出;
函数confirmExit()
{
return“您试图离开此页面。如果您在未单击“保存”按钮的情况下对字段进行了任何更改,您所做的更改将丢失。是否确实要退出此页面?”;
}
作为回报,您可以保存所需的值


或者,您可以在用户离开时发送一个
Ajax
请求。

Page\u Unload
是一个服务器端事件,在将页面发送到浏览器之前触发(为简单起见)。一旦您的浏览器收到html,该页面将不再存在,并且已经调用了
page\u Unload
。所以这里没有用@freedomn-m,感谢您的解释。我已经阅读了关于这个js事件的信息。但是我如何从这个事件中调用页面上的方法呢?您可以获得页面方法。e、 g.PageMethods.Message(OnGetMessageSuccess,OnGetMessageFailure);
<script language="JavaScript">
  window.onbeforeunload = confirmExit;
  function confirmExit()
  {
    return "You have attempted to leave this page.  If you have made any changes to the fields without clicking the Save button, your changes will be lost.  Are you sure you want to exit this page?";
  }
</script>