我试图关注jqgrid和MVC3最近更新的教程。我有这个脚本:
myGrid.jqGrid({
url: '<%= Url.Action("GridData") %>',
datatype: 'json',
mtype: 'POST',
colNames: ['A', 'B', 'C'],
colModel: [
{ name: 'A', index: 'A', key: true, width: 40
},
{ name: 'B', index: 'B', width: 40
},
{ name: 'C', index: 'C', width: 400
}
],
pager: '#pager',
rowNum: 10,
rowList: [5, 10, 20, 50],
sortname: 'A',
sortorder: 'desc',
rownumbers: true,
viewrecords: true,
altRows: true,
//altclass: 'myAltRowClass',
height: '100%',
gridview: true,
jsonReader: { cell: "" },
caption: 'Grid Title'
});
我在Controllers文件夹调用者HomeController中有一个Controller,里面有:
public JsonResult GridData(string sidx, string sord, int page, int rows)
{
return Json(new
{
total = 1, // we'll implement later
page = page,
records = 3, // implement later
rows = (
new[] {
new[]{"A", "B", "C"},
new[]{"1", "2", "3"},
new[]{"X", "Y", "Z"}
}).ToList()
});
}
由于某种原因,我无法调用GridData。我在控制器中设置了该功能的断点并且没有被击中。
我能错过什么?我是否需要以某种方式在项目中设置路由?
答案 0 :(得分:1)
尝试将Url.Action()
来电更改为:
<%= Url.Action("GridData", "Home") %>
仅仅是一个FYI,这不是Razor语法。如果您确实使用Razor,它将如下所示:
@Url.Action("GridData", "Home")
最后一点要问:你的JavaScript / jQuery代码在哪里生活?它是否嵌入在View标记中?