空JQuery数据表,c#WebMethod

空JQuery数据表,c#WebMethod,c#,jquery,webmethod,C#,Jquery,Webmethod,我有一个Ajax webmethod,需要填充JQuery表。我的代码没有产生错误,但我在表中没有看到任何数据 以下是WebMethod: [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public static string ApprovalInfo(string messageId) { string json = string.Empty; json = G

我有一个Ajax webmethod,需要填充JQuery表。我的代码没有产生错误,但我在表中没有看到任何数据

以下是WebMethod:

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public static string ApprovalInfo(string messageId)
    {
    string json = string.Empty;

    json = GetComments(messageId);

    return json;

    }

以下是返回的JSON数据:

当前正在将其发送到如下基本表:

最终结果是:

有人能指出为什么没有显示数据吗

*编辑*

下面是创建JSON数据的方法代码。WebMethod正在调用它,它返回一个字符串

                 try
                {
                    rdr = cmd.ExecuteReader();
                    if (rdr.HasRows)
                    {
                        using (JsonWriter jsonwriter = new JsonTextWriter(sw))
                        {
                            jsonwriter.WriteStartArray();
                            int totalrecords = 0;
                            while (rdr.Read())
                            {
                                jsonwriter.WriteStartObject();
                                int fields = rdr.FieldCount;
                                for (int i = 0; i < fields; i++)
                                {
                                    jsonwriter.WritePropertyName(rdr.GetName(i));
                                    jsonwriter.WriteValue(rdr[i]);
                                }
                                jsonwriter.WriteEndObject();
                                totalrecords++;
                            }
                            jsonwriter.WriteEndArray();
                        }
                    }
*编辑* 我已安装并运行DataTables调试程序,该程序将生成以下内容:

     "sAjaxDataProp": "[{\"UserName\":\"watherton\",\"EnteredDate\":\"2013-07-18T14:36:46.387    
      \",\"Comment\":\"some comment 2\"},{\"UserName\":\"watherton\",\"EnteredDate\":\"2013-07-
             18T16:12:41.753\",\"Comment\":\"some comment 3\"}]",
        "aoColumns": [{
        "mDataProp": "UserName"
         }, {
         "mDataProp": "EnteredDate"
         }, {
         "mDataProp": "Comment"
      }]
我觉得这不对劲。我在Firebug中进行了调试,上面的数据流在response选项卡中返回,JSON选项卡看起来不同。所以,我想我需要告诉WebMethod/AJax调用使用JSON而不是响应。也许吧?

试着打电话给fnDraw

在上找到的示例

另外,尝试使用.done和.fail代替success:和error:

如果这些建议没有帮助,请尝试在document.ready上用代码中的静态数据初始化表 然后,在ajax调用中,只需执行以下操作:

exampleTable.fnClearTable();
exampleTable.fnAddData(mydata);
exampleTable.fnDraw();

在我离开前节省时间。如果你硬编码一些JSON数据,比如:
{“UserName”:“watherton”,“EnteredDate”:“2013-07-18”,“Comment”:“Comment 1”}
,调用会起作用吗?如果没有,那么您如何将数据提供给
dataTable
;否则,ASP.NETAJAX页面方法返回JSON数据的方式就是一个问题。但是网页中仍然没有乐趣数据的
JSON
选项卡是什么样子的?另外,你能发布你的
ApprovalInfo
page方法代码吗?我明天就把它拿出来,卡尔。嗨,Nullius,fnDraw也不起作用。将尝试对返回的字符串进行硬编码,并查看其结果。@csharpnewee硬编码的数据对您有何帮助?还有什么问题吗?
exampleTable.fnClearTable();
exampleTable.fnAddData(mydata);
exampleTable.fnDraw();