2016-06-08 148 views
1

我有asp.net页面。 我没有按钮“保存”(不是我的要求)。在离开页面之前保存数据在ASP.NET中

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

我试着像Page_Unload事件做,但它doen't工作... 原因Save方法从像txtBox1.Text页面上的元素使用的数据,我不能使用.ashx处理程序作出一些ajax保存(或我不知道如何在处理程序中使用页面元素,因为它们是protected)。

那么有什么解决方案,除了serealizing窗体并将其传递给处理程序?

+1

'Page_Unload'是一个服务器端事件,在你的页面被发送到浏览器之前被触发(为简单起见)。一旦你的浏览器收到了html,页面不再存在,并且'Page_Unload'将被调用。所以这里没什么用处。 https://msdn.microsoft.com/en-us/library/ms178472.aspx –

+0

@ freedomn-m,感谢您的解释 – demo

回答

1

您可以使用onbeforeunload事件。 它应该在卸载之前启动。 它允许您询问用户是否真的想离开。检查类似的例子here

<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> 

作为回报,您可以保存所需的值。

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

+0

我已阅读关于此js事件。但是我怎样才能在这个事件的页面上调用一些方法? – demo

+0

你可以得到PageMethods。例如PageMethods.Message(OnGetMessageSuccess,OnGetMessageFailure); – DDave

相关问题