1

Привет всем, я пытаюсь получить данные от cs до js с помощью ToolkitScriptManager. это мой ASPX:ASP.net PageMethods return undefined

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script src="../assets/lib/jquery/jquery-2.0.3.js" type="text/javascript"></script> 

    <script> 
     $(window).load(function() { 
      alert(PageMethods.isConnected()); 
     }); 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <asp:ToolkitScriptManager runat="Server" 
      EnablePageMethods="true" 
      EnablePartialRendering="true" /> 
    <div> 

    </div> 
    </form> 
</body> 
</html> 

и это мой код за

[ScriptMethod, WebMethod] 
     public static bool isConnected() 
     { 
      return true; 
     } 

я не знаю, но это сохранить результат неопределен, извините, если это действительно простая задача для вас, но для меня так сложно, потому что я новичок в asp.net , пожалуйста, помогите мне исправить эту проблему.

+0

Посмотрите на это: http://forums.asp.net/t/993893.aspx –

ответ

1

Вам необходимо предоставить успех и обратный вызов отказа для вызова веб-метода, как показано ниже.

$(window).load(function() { 
            PageMethods.isConnected(fnsuccesscallback,fnerrorcallback); 

     }); 
     function fnsuccesscallback(data) { 
      alert(data); 

     } 
     function fnerrorcallback(result) { 
      alert(result.statusText); 
     } 

Также существует другой способ доступа к методам страницы с использованием $ .ajax.

<head id="Head1" runat="server"> 
    <title></title> 
    <script src="../assets/lib/jquery/jquery-2.0.3.js" type="text/javascript"></script> 
    <script src="Scripts/jquery-1.9.1.js" type="text/javascript"></script> 
    <script type="text/javascript" language="javascript"> 

     $(window).load(function() { 

     $.ajax({ 
      type: "POST", 
      url: "PageMethodTest.aspx/isConnected", 
      data: "{}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: fnsuccesscallback, 
      error:fnerrorcallback 
     }); 
    });   function fnsuccesscallback(data) { 
      alert(data.d); 

     } 
     function fnerrorcallback(result) { 
      alert(result.statusText); 
     } 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <asp:ScriptManager EnablePageMethods="true" runat="server"> 
    </asp:ScriptManager> 
    <div> 
    </div> 
    </form> 
</body> 
0

Сделает 100% работы

 <script type="text/javascript"> 
     function Generate() 
     {    
      var result = PageMethods.GenerateOTP(your parameter, function (response) 
      { 
       alert(response); 
      }); 
     } 
</script>