我正在写一个MVC网站并使用jqGrid。我设法让它工作,加载数据,通过不同的网页编辑和删除数据。
但是,我正在尝试弄清楚如何在单击视图时将其转到其他页面。目前,它将以模型形式显示行数据。我需要做的是让它去另一个页面,例如/客户/ ViewClient / 1
原因是客户端模型的信息比我在网格上显示的信息要多。因此,我需要进入一个单独的页面,以正确的方式显示所有信息。
任何人都知道如何做到这一点?
答案 0 :(得分:2)
我所做的是覆盖'onSelectRow'事件处理程序:
$("TABLE.jqGrid").jqGrid({
url: '/Widgets/Get',
datatype: 'json',
mtype: 'GET',
colNames: ['Id', 'Type', 'Name'],
colModel: [
{ name: 'Id', index: 'Id', width: 50 },
{ name: 'Type', index: 'GameType', width: 100 },
{ name: 'Name', index: 'Name', width: 150 },
],
pager: '#pager',
rowNum: 25,
rowList: [25, 50, 100],
sortname: 'Name',
viewrecords: true,
altRows: true,
gridview: true,
height: 'auto',
onSelectRow: function(id)
{
document.location.href = '/Widgets/Show/' + id;
}
});
您可以使用<%= Url.Action("Whatever") %>
答案 1 :(得分:0)
如果你在使用jqGrid的视图中填充数据时改变一点逻辑,可能会更好。
您可以执行以下操作:
datatype
参数设置为“json”,将jqGrid的url
参数设置为提供分页数据的操作的URL。然后jqGrid将根据AJAX填充数据。用户单击下一页后,将向服务器发送新请求(到您控制器中的相应操作)。请求的页数将作为参数发送给操作。