Pagemethod正在抛出'序列化'System.Reflection.RuntimeModule'类型的对象时检测到循环引用

时间:2013-03-13 22:11:12

标签: ajax asmx pagemethods

我在这个错误上看到了很多关于JSON问题的帖子。我只是有一个调用web方法的经典Web表单。我有一堆单选按钮和一个表格中的2个下拉菜单。一旦我选中其中一个单选按钮和两个下拉菜单,我必须点击Build template按钮填充表单(基本上是带有to,cc,subject字段等的电子邮件表单)

当我选择第一个单选按钮然后选择下拉菜单时,我会得到所需的结果。但是当我选择任何其他返回数据的单选按钮时,我会收到此循环引用错误。最后一个单选按钮不返回数据,因此不会抛出序列化错误。

以下是调用页面方法的javascript

function HandleIT() {
    var ServiceID = document.getElementById("<%=ddServiceList.ClientID%>").value;
    var Status;

    // #code to set the drop downs to 1,2,3,4,5 on 'checked'# removed

    PageMethods.FindAllRecipient(ServiceID, Status, onSucess, onError);

    function onSucess(result) {
        document.getElementById("<%=txtTo.ClientID%>").value = result[0];
        document.getElementById("<%=txtCC.ClientID%>").value = result[1];
    }

    function onError(result) {
        alert('Something wrong.');
    }
}

以下是服务器方法中的代码:

[WebMethod]
public static object[] FindAllRecipient(string serviceID, string currentStatus)
{
    RemoteObj1 = new ServiceEmailer();
    Object[] results = RemoteObj1.FindAllRecipients(
        Convert.ToInt16(serviceID),
        Convert.ToInt16(currentStatus));

    return results;
}

代码在服务器方法中正常工作。那里没有问题。正如错误所显示的那样,问题在于序列化并返回结果。

0 个答案:

没有答案