2015-12-02 29 views
0

所以我在.NET应用程序中遇到了一个问题。javascript .net webmethod不执行

function koniec() { 
    try { 
    var name = document.getElementById('Label4').textContent; 
    } catch (err) { 
    name = '1'; 
    } 
    PageMethods.UpdateItem(name); 
    //alert('session ended !'); 
} 

所以我的webmethod只执行当我找到符合警报注释。否则,它甚至没有开火。

<body onbeforeunload="koniec()" >

其应该执行没有报警功能。

+0

你需要检查是否有什么造成的JavaScript扔错误。 – Phani

回答

0

您是否定义了ScriptManager?

如果没有,尝试 “身体” 的标签之后加入,就像这样:

<body onbeforeunload="koniec()"> 
 
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"> 
 
</asp:ScriptManager>

问候, ABitar

0

是的,是的EnablePageMethods设置为true。正如我之前说的webmethod运行时,alert('session ended !');是取消注释

0

它与我合作,警报并没有影响页面方法的调用。

尝试用下面的代码替换你的JS功能:

function koniec() { 
 
      try { 
 
       var name = document.getElementById('Label4').textContent; 
 
      } 
 
      catch (err) { 
 
       name = '1'; 
 
      } 
 
      PageMethods.UpdateItem(name); 
 
      function OnSuccess(response) { 
 
       alert(response); 
 
      } 
 
      function OnError(error) { 
 
       alert(error); 
 
      } 
 
     }

问候,

ABitar