Json对象没有从MVC绑定到jqgrid [英] Json object not binding to jqgrid from MVC
问题描述
我的控制器中有json对象,它没有绑定到GET方法的jqGrid。
Controller.cs >
---------------------
I have json object in my controller which is not binding to jqGrid of GET method.
Controller.cs
---------------------
public ActionResult Index()
{
return View();
}
[HttpGet]
public JsonResult ImportKFSData(int rows,string sidx,string sord,int page)
{
string startDate = "01/01/2016";
string endDate = "01/15/2016";
var _KFSImportList = KFSPaymentDetailList.GetKFSImportList(Convert.ToDateTime(startDate),Convert.ToDateTimeendDate));
var result = new
{
total = 10,
Page = page.ToString(),
records = "1",
Data = _KFSImportList.Select(x => new
{
x.PaymentDate,
x.PayeeName,
x.SrcDocType,
x.Amount,
x.CheckNumber,
x.ObjectCode
}).ToArray()
};
return Json(result,JsonRequestBehavior.AllowGet);
}
Index.cshtml
-------------
Index.cshtml
-------------
<div class="col-xs-9 col-sm-9 col-md-9 col-lg-9">
<table id="KFSImporttbl" class="1099MiscJQGrid table table-bordered table-striped" style="table-layout: fixed; height: 200px"></table>
<div id="pager"></div>
</div>
< br $> b $ b
// var mydata = [
//{ "PaymentDate": "01/01/2015", "PayeeName": "test", "SrcDocType": "Check", "Amount": 100, "CheckNumber": 1234, "ObjectCode": 4525 },
// { "PaymentDate": "01/01/2015", "PayeeName": "test", "SrcDocType": "Check", "Amount": 100, "CheckNumber": 1578, "ObjectCode": 4525 }
// ];
$(document).ready(function () {
debugger;
$('#KFSImporttbl').jqGrid({
datatype: 'json',
mtype: 'GET',
ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
url: '@Url.Action("ImportKFSData", "KFSReportablePayments")',
colNames: ['PaymentDate', 'PayeeName', 'SrcDocType', 'Amount', 'Check Number', 'Object Code'],
colModel: [
{ name: 'PaymentDate', index: 'PaymentDate', width: 20 },
{ name: 'PayeeName', index: 'PayeeName', width: 50 },
{ name: 'SrcDocType', index: 'SrcDocType', width: 20 },
{ name: 'Amount', index: 'Amount', width: 15 },
{ name: 'CheckNumber', index: 'CheckNumber', width: 20 },
{ name: 'ObjectCode', index: 'ObjectCode', width: 10 }
],
gridview: true,
rowNum: 10,
rowList: [10, 20, 30],
pager: '#pager',
viewrecords: true,
autowidth: true,
height: 'auto',
width: 'auto',
success: function () {
},
}).navGrid("#pager", { edit: false, add: false, del: false });
});
我的尝试:
实际上我试图绑定动态数据。
我尝试过在index.cshtml页面中提到的本地数据。
工作正常。
当我从controller.it给出静态数据时没有绑定。
我没有看到控制台有任何错误尝试使用动态或静态对象。
What I have tried:
Actually I was trying to bind dynamic data.
I have tried with local data which i was mentioned in index.cshtml page.
It was working fine.
When I have given static data from controller.it was not binding.
I didn't see any error in console while i am trying with dynamic or static object.
//var result = new
//{
// total = 10,
// Page = page.ToString(),
// records = "1",
// rows = GetKFSList()
//};
return Json(result,JsonRequestBehavior.AllowGet);<
private List<kfspaymentdetail> GetKFSList()
{
var KFSPaymentList = new List<kfspaymentdetail>();
{
KFSPaymentList.Add(new KFSPaymentDetail
{
PaymentDate = Convert.ToDateTime("01/01/2015"),
PayeeName = "test",
SrcDocType = "AM",
Amount = 100,
CheckNumber = 12541,
ObjectCode = 4525
});
};
return KFSPaymentList;
}
任何人都能帮我解决我错过的问题吗??
Can any one help me what I am missing..?
推荐答案
( document )。ready( function (){
debugger ;
(document).ready(function () { debugger;
(' #KFSImporttbl')。jqGrid({
datatype:' json',
mtype: ' GET',
ajaxGridOptions:{contentType:' application / json; charset = utf-8'},
url:' @ Url.Action(ImportKFSData,KFSReportablePayments)',
colNames:[' PaymentDate ',' PayeeName',' SrcDocType',' 金额',' 检查号码,' 对象代码'],
colModel:[
{name:' PaymentDate',index:' PaymentDate',width : 20 },
{name:' PayeeName',索引:' PayeeName',width: 50 },
{name:' SrcDocType',索引:' SrcDocType',宽度: 20 },
{name:' 金额',index:' 金额',宽度: 15 },
{name:' CheckNumber',index:' CheckNumber',宽度: 20 },
{name:' ObjectCode',index: ' ObjectCode',width: 10 }
],
gridview: true ,
rowNum: 10 ,
rowList:[ 10 , 20 , 30 ],
寻呼机:' #pager',
viewrecords: true ,
autowidth: true ,
height:' auto',
width :' auto',
成功: function (){
},
})。navGrid( #pager,{edit: false ,添加: false , del: false });
});
('#KFSImporttbl').jqGrid({ datatype: 'json', mtype: 'GET', ajaxGridOptions: { contentType: 'application/json; charset=utf-8' }, url: '@Url.Action("ImportKFSData", "KFSReportablePayments")', colNames: ['PaymentDate', 'PayeeName', 'SrcDocType', 'Amount', 'Check Number', 'Object Code'], colModel: [ { name: 'PaymentDate', index: 'PaymentDate', width: 20 }, { name: 'PayeeName', index: 'PayeeName', width: 50 }, { name: 'SrcDocType', index: 'SrcDocType', width: 20 }, { name: 'Amount', index: 'Amount', width: 15 }, { name: 'CheckNumber', index: 'CheckNumber', width: 20 }, { name: 'ObjectCode', index: 'ObjectCode', width: 10 } ], gridview: true, rowNum: 10, rowList: [10, 20, 30], pager: '#pager', viewrecords: true, autowidth: true, height: 'auto', width: 'auto', success: function () { }, }).navGrid("#pager", { edit: false, add: false, del: false }); });
我的尝试:
实际上我试图绑定动态数据。
我尝试过在index.cshtml页面中提到的本地数据。
工作正常。
当我从controller.it给出静态数据时没有绑定。
我没有看到控制台有任何错误尝试使用动态或静态对象。
What I have tried:
Actually I was trying to bind dynamic data.
I have tried with local data which i was mentioned in index.cshtml page.
It was working fine.
When I have given static data from controller.it was not binding.
I didn't see any error in console while i am trying with dynamic or static object.
//var result = new
//{
// total = 10,
// Page = page.ToString(),
// records = "1",
// rows = GetKFSList()
//};
return Json(result,JsonRequestBehavior.AllowGet);<
private List<kfspaymentdetail> GetKFSList()
{
var KFSPaymentList = new List<kfspaymentdetail>();
{
KFSPaymentList.Add(new KFSPaymentDetail
{
PaymentDate = Convert.ToDateTime("01/01/2015"),
PayeeName = "test",
SrcDocType = "AM",
Amount = 100,
CheckNumber = 12541,
ObjectCode = 4525
});
};
return KFSPaymentList;
}
任何人都能帮我解决我错过的问题..?
Can any one help me what I am missing..?
这篇关于Json对象没有从MVC绑定到jqgrid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!