2008-10-07 25 views
25

Esta es la primera vez que intento llamar a un método de página ASP.NET desde jQuery. Recibo un error de estado 500 con el mensaje de respuestaTexto de que no se puede encontrar el método web. Aquí está mi jQuery $ .ajax llamada:ASP.NET jQuery error: Desconocido Método web

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); 
     } 
    }); 
} 

Y aquí está el método de la página que estoy tratando de llamar:

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

me han tratado este decorando el método Web con y sin los parens'() '. ¿Alguien tiene una idea?

Respuesta

80

Su método web debe ser público y estático.

+1

Bueno, eso fue un error estúpido. Gracias, sin embargo ...;) –

+2

¿Qué sucede si tengo este error cuando el método es público? –

+13

Su método web debe declararse como "estático" – Max

11

Limpiar la solución y reconstruir. He visto webmethods lanzar 500's hasta que hagas esto.

1

Agregar public static antes de que su método ...

ex.

[WebMethod] 
public static string MethodName() {} 
Cuestiones relacionadas