【发布时间】:2012-09-26 19:03:00
【问题描述】:
如何返回两个Json 对象?基本上我正在尝试从 sql db 发送一堆数据以及 db 中的行数。
下面的代码成功发送myData,但现在我还要发送count。
string sqlquery = "SELECT Q1, Q2, Q3, Q4, Improvements, Comments FROM myTable";
conn.Open();
SqlDataAdapter cmd = new SqlDataAdapter(sqlquery, conn);
SqlCommand comd = new SqlCommand(sqlquery, conn);
DataSet myData = new DataSet();
cmd.Fill(myData, "myTable");
comd.CommandText = "SELECT COUNT(*) FROM myTable";
Int32 count = (Int32)comd.ExecuteScalar();
comd.ExecuteNonQuery();
conn.Close();
return JsonConvert.SerializeObject(myData, Formatting.Indented,
new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
});
这是我的网格
this.grid = Ext.create('Ext.grid.Panel', {
title: 'GridView App',
frame: true,
trackMouseOver: true,
disableSelection: true,
autoHeight: true,
store: store,
loadMask: true,
columns: [
{ header: 'Q1',
sortable: true, dataIndex: 'Q1'
},
{ header: 'Q2',
sortable: true, dataIndex: 'Q2'
},
{ header: 'Q3',
sortable: true, dataIndex: 'Q3'
},
{ header: 'Q4',
sortable: true, dataIndex: 'Q4'
},
{ header: 'Improvements', flex: 1,
sortable: true, dataIndex: 'Improvements'
},
{ header: 'Comments', flex: 1,
sortable: true, dataIndex: 'Comments'
}
],
这是我的商店...
var store = Ext.create('Ext.data.JsonStore', {
storeId: 'myData',
scope: this,
pagesize: itemsPerPage,
remoteSort: true,
fields: [
{ name: 'Q1', type: 'int' },
{ name: 'Q2', type: 'int' },
{ name: 'Q3', type: 'int' },
{ name: 'Q4', type: 'int' },
{ name: 'Q5', type: 'int' },
{ name: 'Improvements', type: 'string' },
{ name: 'Comments', type: 'string' }
],
sorters: [
{
property: 'Q1',
direct: 'ASC'
}
],
proxy: {
type: 'ajax',
scope: this,
url: 'GridView/writeRecord',
reader: {
type: 'json',
root: 'myTable',
totalProperty: 'count'
}
}
});
【问题讨论】:
-
等等,你是在控制器上这样做的吗?我通常通过 Json 从控制器返回一个列表到视图,我只需键入 return Json(theList)。我猜它正在将数据集重新转换为 json,但可能您需要在返回中挖掘以从数据库中查找数据,因为它比简单的通用列表更复杂(更多层)
-
嗨 Edwin...我正在使用 json.net 序列化...我有一个使用此控制器的 extjs gridview...这是原始帖子...stackoverflow.com/questions/12587799/….. . 是的,它正在将我的数据集作为 json 返回......但我肯定想试试你的建议......你能解释一下我是如何去做的吗
标签: c# sql asp.net-mvc count json