我在学习《ASP.NET AJAX程序设计:客户端(第2卷)》中第2章,碰到个问题。书中有个例子,使用webservice方法(除法运算)调试回调失败的输出。如下:有2个输入框,分别是 tbA,tbB,一个按钮btnResult,其value值显示结果。
webservice方法,--SimpleWebService
[WebMethod]
public int Divide(int a, int b)
{
    return (int)(a / b);
}在返回页面上调用该方法。function btnResult_onclick()
{
   var a = $get("tbA").value;
   var b = $get("tbB").value;
   SimpleWebService.Divide(a,b,onSucceeded,onFailed);
}
function onSucceeded(result)
{
   $get("btnResult").value = result;
}
function onFailed(error)
{
   //显示出错信息;
   alert(error.get_message());
}运行过程中,点击运算按钮显示错误:
   Sys.InvalidOperationException 无法序列化子属性中具有循环引用的对象。当把 SimpleWebService.Divide(a,b,onSucceeded,onFailed);中的参数b去掉后,同时修改相应的Divided方法后,可以正常运行,在vs2008中书写SimpleWebService.Divide(时,系统提示该方法有4个选项:number a, number b, onSuccess,onFailed,为什么同时传递2个参数会出现错误呢?ps:vs2008 已安装.net3.5 framework