2015-12-02 68 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