如何在特定时间从javascript调用C#中的函数

How to call function in C# from javascript at particular time

本文关键字:调用 函数 javascript 定时间      更新时间:2024-06-24
<script type="text/javascript">
   var startTime = new Date();
   var TimeTaken;
        //Start the clock!
   window.onbeforeunload = function ()        
   {
       var endTime = new Date();
       //Get the current time.
       var timeSpent = (endTime - startTime);
       seconds = (timeSpent / 1000) % 60;
       TimeTaken = parseInt(seconds);
       //return TimeTaken;
       var temp = document.getElementById('<%=Label1.ClientID %>').value;
       temp = TimeTaken;
       alert(temp);
         <%PageO(); %>
  };

当我在浏览器中关闭选项卡/页面时,上面的JS文件运行。但是我调用的函数<%PageO(); %>程序开始自行运行时执行。代码隐藏 (C#( 中的此函数调用应仅在选项卡/页面关闭时执行,而不是在程序开始时执行。

此代码中有什么错误吗?

试试这个 - 你必须使用 PageMethods

<script type="text/javascript">
var startTime = new Date();
   var TimeTaken;
        //Start the clock!
   window.onbeforeunload = function ()        
   {
       var endTime = new Date();
       //Get the current time.
       var timeSpent = (endTime - startTime);
       seconds = (timeSpent / 1000) % 60;
       TimeTaken = parseInt(seconds);
       //return TimeTaken;
       var temp = document.getElementById('<%=Label1.ClientID %>').value;
       temp = TimeTaken;
       alert(temp);
       // USE PAGEMETHODS FOR CODE BEHIND METHOD CALL
         PageMethods.PageO(function (response) {                 
        alert(response);
    });
  };
</script>
  • 您必须在.aspx页面中添加ScriptManager,如下所示

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">

  • 并在.aspx.cs使用WebMethod提交您的方法,如下所示

    '

    [System.Web.Services.WebMethod]

    public static string PageO()
         {
            return "Yes this is working";
         }
    

    '