WebMethod(有时)返回整个网站



我有一个WebMethod,它接受一个参数。

当我发送一个请求到webmethod没有任何参数一切工作正常,但当我提供一个参数到相同的方法,它返回整个网站而不是字符串。

page参数只改变列表的内容。

List就是ListView,用来显示字符串列表。

当我使用URL重写URL是不同的实例,我提供了一个参数和实例,当我不。

有人能帮我解决这个问题吗?

My WebMethod:

[WebMethod]  
public static string GetResult(int id)  
{
    return "Hooray";
}

我的web方法调用:

PageMethods.GetResult(docId,  
    function onSuccess(list) {  
        $(element).parent().siblings().filter(":first").append(list);  
    });

不带参数的URL:
www.mywebsite.com/items is rewritten to www.mywebsite.com/items.aspx

URL带参数:
www.mywebsite.com/items/1 is rewritten to www.mywebsite.com/items.aspx?id=1

这里有一个关于你同样问题的讨论,可能会对你的情况有所帮助。基本上,它说的是它不工作因为处理PageMethods的处理程序正在寻找{pagename。/{methodname},你的url重写导致它无法识别你正在调用一个页面方法。

在那个页面上的一个建议是在你的javascript代码的某个地方添加以下相同签名的自动生成调用:
PageMethods.set_path('/items.aspx');

这将使它使用真实的url而不是重写的url来调用你的page方法。

最新更新