2008-10-07 5 views
25

Das ist das erste Mal, dass ich versuche, eine ASP.NET-Seitenmethode von jQuery aufzurufen. Ich erhalte einen Status 500-Fehler mit der responseText-Nachricht, dass die Webmethode nicht gefunden werden kann. Hier ist meine jQuery $ Schnipsel Aufruf:ASP.NET-jQuery-Fehler: Unbekannte Webmethode

function callCancelPlan(activePlanId, ntLogin) { 
    var paramList = '{"activePlanId":"' + activePlanId + '","ntLogin":"' + ntLogin + '"}'; 
    $.ajax({ 
     type: "POST", 
     url: "ArpWorkItem.aspx/CancelPlan", 
     data: paramList, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function() { 
      alert("success"); 
     }, 
     error: function(xml,textStatus,errorThrown) { 
      alert(xml.status + "||" + xml.responseText); 
     } 
    }); 
} 

Und hier ist die Seite Methode, die ich zu nennen versuche:

[WebMethod()] 
private static void CancelPlan(int activePlanId, string ntLogin) 
{ 
    StrategyRetrievalPresenter presenter = new StrategyRetrievalPresenter(); 
    presenter.CancelExistingPlan(offer, ntLogin);    
} 

Ich habe versucht, dies durch die Web-Methode Dekorieren mit und ohne die Pars() " Jeder hat eine Idee?

Antwort

80

Ihre Webmethode muss öffentlich und statisch sein.

+1

Nun, das war ein dummer Fehler. Danke, aber ..;) –

+2

was ist, wenn ich diesen Fehler habe, wenn dann Methode öffentlich ist? –

+13

Ihre Webmethode muss als "statisch" deklariert werden. – Max

11

Die Lösung reinigen und neu aufbauen. Ich habe gesehen, Webmethoden 500 werfen, bis Sie dies tun.

1

Add public static vor Ihrer Methode ...

ab.

[WebMethod] 
public static string MethodName() {}