JSON WebMethod在Sitefinity中不起作用

时间:2009-04-14 00:35:46

标签: ajax web-services json asmx sitefinity

我试图通过ajax调用传统ASP.Net WebForm代码隐藏页面中托管的WebMethod。以下是WebMethod的代码:

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

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

WebMethod在我的独立开发环境中运行得很好,或者如果正常部署到IIS,但是当我将aspx页面部署到Sitefinity时,在调用时会出现以下异常:

“/”应用程序中的服务器错误。
未知的网络方法States.aspx。
参数名称:methodName

我不确定Sitefinity是否正在劫持该网址并将“.aspx”发布后期或此处发生的事情。

这是调用web方法的jquery调用:

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

我可以通过使用Fiddler手动发布请求来复制问题。

同样,除了部署到Sitefinity之外,这在任何地方都可以正常工作。有人有什么想法吗?

2 个答案:

答案 0 :(得分:0)

Sitefinity运行的是什么版本的.NET?页面方法是最近添加的。

答案 1 :(得分:0)

使用 dataType:“json”,