2009-04-14 6 views
2

Ich versuche, über Ajax eine WebMethod aufgerufen in einer traditionellen ASP.Net WebForm Code-Behind-Seite gehostet. Hier ist der Code für das WebMethod:JSON WebMethod funktioniert nicht in Sitefinity

[WebMethod] 
public static object States() 
{ 
    StateProvince[] states = new StateProvince[] { }; 
    ApplicationServiceClient proxy = null; 

    try 
    { 
     proxy = new ApplicationServiceClient(); 
     states = proxy.GetStateProvinces(); 
    } 
    finally 
    { 
     CloseServiceProxy(proxy); 
    } 
    return states; 
} 

Die WebMethod funktioniert gut in meiner Stand-alone-Entwicklungsumgebung oder wenn normalerweise IIS eingesetzt, aber wenn ich die aspx Seite Sitefinity bereitstellen, erhalte ich die folgende Ausnahme, wenn Es heißt:

Serverfehler in '/' Anwendung.
Unbekannte Webmethode States.aspx.
Parametername: Methoden

Ich bin mir nicht sicher, ob Sitefinity die URL und nach bis zum „aspx“ ist Hijacking oder, was hier vor sich geht. Hier

ist der Jquery-Aufruf, der die Web-Methode ruft:

$.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: "Regions.aspx/States", 
     data: "{}", 
     success: function(data) { 
      // implementation omitted 
     }, 
     error: function(xhr, msg) { 
      alert(xhr.responseText); 
     } 
    }); 

Ich kann das Problem replizieren, indem die Anforderung manuell mit Fiddler veröffentlichen.

Auch dies funktioniert überall gut, außer wenn es auf Sitefinity angewendet wird. Hat jemand irgendwelche Gedanken?

Antwort

0

Welche Version von .NET läuft Sitefinity? Seitenmethoden sind eine neue Ergänzung.

0

verwenden Sie dataType: "json",