动态地通过Json对象返回DataSet

时间:2014-02-27 09:59:07

标签: c# asp.net-mvc json dataset circular-reference

我有以下代码:

GenericManager gm = new GenericManager();
DataSet ds = new DataSet();
ds = gm.ExecuteQuery(gr.TableName, gr.ColumnName, gr.WhereClause);
return Json(ds, JsonRequestBehavior.AllowGet);

其中ExecuteQuery是类GenericManager的方法,它将返回数据集并将该数据集保存到对象ds中。

我正在实现一个每次都从不同表中获取数据的功能。这意味着要填充DataSet我将表格的名称传递给DataSet。因此,我必须每次都从Json传递数据集,因为我不确定查询返回的列。

如果我尝试通过Json返回数据集,则抛出以下异常: A circular reference was detected while serializing an object of type 'System.Globalization.CultureInfo'.

所以,我正在寻找将DataSet传递给Json的方式。

我已经尝试过以下代码:

return Json(ds.Tables[0].Rows[0], JsonRequestBehavior.AllowGet);

此外,

 return Json(ds.Tables.AsQueryable(), JsonRequestBehavior.AllowGet);

请帮助解决问题,因为我必须在当天结束时提交

1 个答案:

答案 0 :(得分:0)

Code给了我很多帮助。对于遇到相同问题的人,可以查看以下修复