转换为JSON对于MVC中的Jquery表

时间:2012-06-19 17:29:24

标签: asp.net-mvc json asp.net-mvc-3

我正在使用现有数据库在MVC中编写应用程序。我成功地将数据库与EF和Scaffolding连接起来。表格显示在视图中。

我想要Jquery插件,Datatable用于排序和过滤。但它们需要JSON格式的数据。我环顾四周,找不到将现有数据库中的值转换为JSON的可靠方法。

我看到教程中添加了像DBController和DataService这样的WebAPI属性并将其转换为JSON。我无法通过这种方式工作......

所以我想知道如何将视图中的值转换为JSON的方法..如果我添加了大量不需要的信息,我很抱歉。

非常感谢

3 个答案:

答案 0 :(得分:2)

var jsonData = @Html.Raw(new JavaScriptSerializer().Serialize(Model));

以下是JavaScriptSerializer Class的MSDN文档。

答案 1 :(得分:2)

如果你想在视图中进行JSON转换,那么你可以按照@Aleksey的回答。你告诉过你正在使用jquery插件(jquery表?)所以你可能需要控制器操作来返回数据以填充网格为JSON?在这种情况下,您可以在控制器中执行返回Json操作结果的操作,而不需要通过直接使用JavaScript序列化程序进行任何转换(这将由框架为您完成)。

对于前。

public JsonResult GetDataToFillGrid(parameters)
{
  var dataCollection = .. get from db

  return Json(dataCollection, JsonRequestBehavior.AllowGet);
}

JsonRequestBehavior.AllowGet您必须使用GET请求。

答案 2 :(得分:0)

您的Jquery DataTable位于View中,我们应始终避免在视图内处理数据。视图应仅显示从Controller传递的数据。

说完这个之后,你应该在控制器中创建一个方法,它将结果作为Mark建议的Json对象返回。