2009-10-20 7 views
0

J'ai mon gestionnaire de script avec l'attribut enablepagemethods mis à vrai, cependant, pour une raison quelconque, cela m'avertit que j'ai échoué.Pourquoi cette méthode de page échoue-t-elle?

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    [WebMethod()] 
    public static string test() 
    { 
     return "q343242342342"; 
    } 
} 

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 
<script type="text/javascript"> 
    function callMethod() { 
     PageMethods.test(onSuccess, onFailure); 
    } 

    function onSuccess(result) { 
     alert(result.d); 
    } 

    function onFailure(error) { 
     alert('fail'); 
    } 
     </script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True"> 
</asp:ScriptManager> 
<div> 
    <asp:Button ID="Button1" OnClientClick="callMethod()" runat="server" Text="Button"/> 

Répondre

1

Ce code a fonctionné pour moi - ne peut pas dire exactement où votre problème est bu vous n'avez pas votre code dans un runat = bloc de serveur (en supposant que vous copiez simplement à partir du code derrière peut-être). Mais ce code exact devrait fonctionner - je pense.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> 
<html> 
<head runat="server"> 
<title>Sample Page</title> 
<script runat="server"> 

    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    [System.Web.Services.WebMethod()] 
    public static string test() 
    { 
     return "q343242342342"; 
    } 

</script> 
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 
<script type="text/javascript"> 
    function callMethod() { 
     PageMethods.test(onSuccess, onFailure); 
    } 

    function onSuccess(result) { 
     alert(result); 
    } 

    function onFailure(error) { 
     alert('fail'); 
    } 
     </script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True"> 
</asp:ScriptManager> 
<input type="button" id="btn" value="Click Me" onclick="callMethod();" /> 
</form> 
</body> 
</html> 
+0

oui pour moi, il échoue et j'ai fait exactement ce que vous avez fait. – jr3

Questions connexes