之前的一篇文章中介绍的是easyui页面获取c#后台代码的数据,也可以用另一种方式来获取:
html:
<table id="pressure"></table>
js:
function loadMessage() {
$('#pressure').datagrid({
height: 500,
url: '/Home/RealtimeData',
method: 'POST',
idField: 'ElementId',
striped: true,
fitColumns: true,
singleSelect: false,
rownumbers: true,
pagination: false,
nowrap: false,
pageSize: 10,
pageList: [10, 20, 50, 100, 150, 200],
showFooter: true,
columns: [[
{ field: 'ck', checkbox: true },
{ field: 'ElementId', title: '序号', align: 'left' },
{ field: 'Label', title: '标识', align: 'left' },
{ field: 'Meter_Name', title: '名称', align: 'left' },
{ field: 'Station_Un', title: '营销公司', align: 'left' },
{ field: 'MeasureAre', title: '计量区', align: 'left' },
{ field: 'DistrictAr', title: '行政区', align: 'left' },
{ field: 'Explain', title: '监测点类型', align: 'left' }
]],
onBeforeLoad: function (param) {
},
onLoadSuccess: function (data) {
if (data) {
$.each(data.rows, function (index, item) {
if (item.Display == 1) {
$('#pressure').datagrid('checkRow', index);
}
});
}
},
onLoadError: function () {
},
onClickCell: function (rowIndex, field, value) {
}
});
}
c#:
public ActionResult RealtimeData()
{
var workers = from w in db.METER
select w;
workers = workers.Where(w => w.Meter_Type == 2 || w.Meter_Type == 4);
workers = workers.OrderBy(w => w.ElementId);
var result = from worker in workers
select new
{
worker.ElementId,
worker.Label,
worker.Meter_Name,
worker.Station_Un,
worker.MeasureAre,
worker.DistrictAr,
worker.Explain,
worker.Display
};
var jsonResult = new { total = workers.Count(), rows = result };
string str = JsonSerializeHelper.SerializeToJson(jsonResult, "yyyy'-'MM'-'dd' 'HH':'mm':'ss");
return Content(str);
}