Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在页面上保存记录_Javascript_Asp.net_Asp.net Ajax - Fatal编程技术网

Javascript 在页面上保存记录

Javascript 在页面上保存记录,javascript,asp.net,asp.net-ajax,Javascript,Asp.net,Asp.net Ajax,我在保存按钮单击时保存记录,如果用户在单击某个链接时没有单击保存按钮并导航到另一个页面,那么我想调用保存方法。 如何实现此功能 请提供一些示例代码 提前感谢您的帮助使用由窗口触发的ajax帖子。OnBeforeUnload()让您自己知道用户已离开页面,并传递您需要的任何信息。您可以在 window.onbeforeunload = function(){ ////make ajax request } 或者可以通过给出确认框来阻止用户 function showalert() {

我在保存按钮单击时保存记录,如果用户在单击某个链接时没有单击保存按钮并导航到另一个页面,那么我想调用保存方法。 如何实现此功能

请提供一些示例代码


提前感谢您的帮助

使用由
窗口触发的ajax帖子。OnBeforeUnload()
让您自己知道用户已离开页面,并传递您需要的任何信息。

您可以在

window.onbeforeunload = function(){ 
    ////make ajax request
}
或者可以通过给出确认框来阻止用户

function showalert() {
  if (!confirm('Are you sure you want to exit without saving changes?')) { 
     ////make ajax request
  }
  else {return true;}
}

window.onbeforeunload = function(){ showalert }
例如,当我在回答问题时离开此页时,请检查此项,以防止我


既然您想调用save方法,即使用户导航到另一个页面或链接 你需要做的是为例如设置一个隐藏字段。假设hdnSave并将其值设置为0 现在,当用户导航或单击任何其他链接时,首先检查此隐藏字段值(hdnSave)是否设置为1。如果未设置,则调用Save Method。因此,此隐藏字段可以用作是否调用Save Method的指示器


同样,你也可以使用会话(c#code)来达到同样的目的。

你尝试过什么吗?遵循以下原则:你真的不应该要求代码,而应该要求更正。您应该在询问之前尝试。请记住:无法保证此代码能够执行。例如,如果浏览器可执行文件本身被强制停止(或崩溃),或计算机与internet的连接中断,或其电源线被拉断,等等。。。换句话说,使用这种技术是为了方便,但绝不是为了系统关键代码。我添加了以下代码,“function ajaxRequestOnlLeave(arguments){var ajaxManager=$find(“”);if(ajaxManager!=null)ajaxManager.ajaxRequest(“”);}window.onunload=ajaxRequestOnlLeave();”但它在页面加载后运行,但不会在页面离开时触发。这是JavaScript函数,我正在使用第三方控件进行ajax调用,
window.onunload=AjaxRequestOnLeave()但它只在页面加载后触发。实际上,这是一种特定于浏览器的行为。Chrome和FF将在启动onunload之前发送GET请求,IE8将首先执行onunload。不确定其他浏览器如何处理它。我添加了以下代码,
函数AjaxRequestOnlLeave(参数){var ajaxManager=$find(“”);if(ajaxManager!=null)ajaxManager.ajaxRequest(“”);}window.onunload=AjaxRequestOnlLeave()但它在页面加载后运行,但不会在页面离开时触发。