我在JavaScript中集成了我的模型的json输出和datatables。
数据表期望:
{
"draw":1,
"recordsTotal":57,
"recordsFiltered":57,
"data":[
[
"Airi",
"Satou",
"Accountant",
"Tokyo",
"28th Nov 08",
"$162,700"
],
[
"Airi",
"Satou",
"Accountant",
"Tokyo",
"28th Nov 08",
"$162,700"
],...
]
}但是我的模型渲染:
[
{
"Column1":"data",
"Column2":"data",
"Column3":"data",
"Column4":"data",
"Column5":"data"
},
{
"Column1":"data",
"Column2":"data",
"Column3":"data",
"Column4":"data",
"Column5":"data"
},...
]我的模型定义为:
Public Class DataForAJAX
Public Property Column1() As String
Public Property Column2() As String
Public Property Column3() As String
Public Property Column4() As String
Public Property Column5() As String
End Class我使用Dapper加载一个(DataForAjax的)IEnumerable
有没有办法输出我想要的数据表?正如您可能已经注意到的,我在json中专门查找数据表的data节点,但也希望填充许多记录。不知怎么的,我想不通。如果它是PHP或Classic ASP,我会很容易地生成:)
感谢任何建设性的帮助,为我指明了正确的方向
发布于 2014-05-27 22:33:16
创建一个DTO类,该类模仿您想要的数据格式,即创建属性名称和层次结构,就像您希望在输出JSON中那样。然后,要么手动将您的模型映射到这个类,要么使用AutoMapper之类的工具自动执行该过程,并将DTO作为结果发送回来。
发布于 2014-05-28 19:47:21
我接受了克里斯·普拉特说的话,并对我最初试图做的事情做了更多的尝试。最后,我创建了一个容器模型:
Public Class DataForAJAXContainer
Public Property recordsTotal() as Integer
Public Property recordsFilteredTotal() as Integer
Public Property draw() as Integer
Public Property data() as List(Of List(Of String))
End Class然后创建一个列表项,遍历数据库结果并将每一列添加到列表中
Dim l as New List
l.Add(Column1)
l.Add(Column2)
l.Add(Column3)
l.Add(Column4)
l.Add(Column5)然后将其添加到我的容器模型中
Dim c as New DataForAJAXContainer
c.data.Add(l)这一切都发生在每个DataForAJAX对象的循环中。
然后,模型的JSON输出结果将采用数据表所期望的格式。
如果有人有更好/更干净的解决方案,那将是一件很棒的事情
https://stackoverflow.com/questions/23890946
复制相似问题