日期:2014-05-18  浏览次数:20477 次

前台的onbeforeunload调用后台的用法,求各位高手帮忙解决这个问题
当页面关闭时,如何在前台的onbeforeunload调用后台的方法?

前台:
<script language="javascript" type="text/javascript" >
  function close() {

  }
  </script>


<body onbeforeunload="close()">



后台CS代码:

public void 方法(object sender, EventArgs e)
{
  往数据库insert一条数据
}


其中的function close()里应该怎么写?
如何才能实现前台的onbeforeunload调用后台的方法?

------解决方案--------------------
(1) 前台js代码:在需调用后台代码的地方,书写如下代码:
  
  PageMethods. houtai (latlng,myCallBack);//getBj54是后台c#方法,latlng是实参,myCallBack是回调函数,是调用了后台方法之后,运行的方法。
  
   
  
  (2) 后台处理函数。在c#后台文件中书写
  
  [System.Web.Services.WebMethod]//注意此句必须书写
  
  public static String houtai(Object xingcan)//注意必须是静态方法
  
  {
  
   …… //你要进行的处理,注意返回值
  
  }
  
  (3) 前台Js回调函数,
  
  function myCallBack(result) { //result是后台方法返回的值
  
   var di = document.getElementById("Label1"); //label1是例子,是label
  
   di.innerText=result; 
  
  }
  
  实际代码执行顺序是(1)-(2)-(3)其中只需调用(1),而后面两步是自动执行的。