我以为我已经解决了这个问题,但我尝试在我的另一个应用程序中使用jqGrid,但它不想工作。它甚至不会转到上面提到的URL。它甚至不会显示空记录字符串,只显示一个空网格。
这是我在视图中的内容
$("#list").jqGrid({
url: '/Customers/MyAccount/GetEnhancementRequests',
datatype: 'json',
type: 'POST',
colNames: ['ID', 'Requested By', 'Requested Date', 'Details', 'Progress'],
colModel: [
{ name: 'Id', index: 'ID', key: true, width: 55 },
{ name: 'CustomerName', index: 'CustomerName', width: 50 },
{ name: 'requestDate', index: 'requestDate', width: 50 },
{ name: 'details', index: 'details', width: 50 },
{ name: 'progress', index: 'progress', width: 50 }
],
pager: $("#pager"),
rowNum: 2,
rowList: [2, 10, 50, 100, 200],
sortname: 'ID',
viewrecords: true,
sortorder: 'desc',
caption: 'Enhancement Requests',
imgpath: '/Content/images',
width: 1000,
height: 500,
emptyrecords: 'No enhancements have been submitted',
jsonReader: { repeatitems: false }
});
$("#list").jqGrid('navGrid', '#pager',
{ edit: false, add: false, del: false },
{},
{},
{},
{ multipleSearch: true, multipleGroup: true }
);我已经把我的控制器动作改成了这样
[HttpPost]
public JsonResult GetEnhancementRequests(string sidx, string sord, int page, int rows, bool _search, string filters)
{
var jsonData = new
{
total = 1,
page = page,
records = 1,
rows = (
new {
id = 1,
cell = new string[]{
"1", "RequestedBy", DateTime.Now.ToShortDateString(), "Lots of details", "and even some progress"}
})
};
return Json(jsonData );
}我在控制器操作中有断点,但它甚至没有进入方法中。有什么见解吗?
编辑:忘记添加,我有以下脚本参考。如你所见,我已经得到了所有请求文件
<link href="../../../../Scripts/css/custom-theme/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css" />
<link href="../../../../Scripts/css/ui.jqgrid.css" rel="stylesheet" type="text/css" />
<link href="../../../../Scripts/ui.multiselect.css" rel="stylesheet" type="text/css" />
<script src="../../../../Scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="../../../../Scripts/jquery-ui-1.8.15.min.js" type="text/javascript"></script>
<script src="../../../../Scripts/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>
<script src="../../../../Scripts/grid.locale-en.js" type="text/javascript"></script>
<script src="../../../../Scripts/ui.multiselect.js" type="text/javascript"></script>
<script src="../../../../Scripts/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="../../../../Scripts/jquery.tablednd.js" type="text/javascript"></script>发布于 2011-11-25 17:42:28
您的代码中有一些错误:
如果将jsonReader: { repeatitems: false }的格式与具有属性的项目一起使用,则应从
cell cell参数JavaScript。jquery-ui-1.8.15.min.js和jquery-ui-1.8.16.custom.min.js。你应该删除jquery-ui-1.8.15.min.js. 以同样的方式,文件jquery.tablednd.js已经以最小化的形式包含在jquery.jqGrid.min.js中。你应该删除jquery.tablednd.js.
其他一些事情不是错误,而只是推荐:
多年来,jqGrid中不存在
imgpath。你可能用了一些复古的例子作为模板。包含参数imgpath: '/Content/images'的作用与包含blaBla: 'HaHa'的作用相同:它什么也不做。因此,您应该将imgpath: '/Content/images'.pager: $("#pager") pager: "#pager".替换为remove表达式$("#pager")表示在页面上选择具有id="page"的DOM元素,并为DOM元素创建jQuery包装器。jqGrid只需要知道寻呼机的id。因此,如果pager参数的值不是字符串和jQuery元素,而是jqGrid,则只需从元素获取id属性,并将pager参数的值修改为字符串'#' + id。最好以`pager:“#pager”的形式直接使用pager参数。发布于 2011-11-26 02:11:32
感谢您的意见。事实证明我犯了个错误。我调用的是type而不是mtype,jqGrid对我指定的Url什么也没做。一旦我纠正了它,它现在就可以正常工作了。
感谢你对imgpath和pager btw的指点。非常感谢,谢谢
https://stackoverflow.com/questions/8266248
复制相似问题