jqgrid列linq与ASP.NET MVC

时间:2011-08-21 13:51:18

标签: asp.net-mvc jqgrid

我有一个具有4个属性的类(Person):Id,FirstName,LastName,Code。

我在jqgrid中显示人员列表。我想要一个这种格式的链接列(代码格式为2011.0001)

/ Person / Detail / Code => /Person/Code/2011.0001

但是我的代码如下: /客户/细节?代码= 2

我试过了:

colModel: [
    { name: 'Code', index: 'Code', formatter: 'showlink', formatoptions: { baseLinkUrl: '/Customer/Detail', idName: 'Code' }},
    { name: 'LastName', index: 'LastName', align: 'left' },
    { name: 'FirstName', index: 'FirstName', align: 'left' }                  
],

我该如何纠正?

谢谢,

Update1,数据格式

[
{"Id":1,"FirstName":"AAAA","LastName":"AA","Code":"2011.0001"},
{"Id":3,"FirstName":"BBBB","LastName":"BB","Code":"2011.0003"}
]

1 个答案:

答案 0 :(得分:1)

您可以尝试使用

形式的custom formatter
formatter: function (cellvalue, options, rowObject) {
    return '<a href="/Person/Code/' + rowObject.Code + '">' + cellvalue + '</a>';
}

而不是predefined formatter'showlink':

formatter: 'showlink', formatoptions: {baseLinkUrl:'/Customer/Detail', idName:'Code'}

如果您在“代码”列中包含唯一数据,并且您要将/Customer/Detail?Code=2011.0001添加到列定义中,则可以轻松接收key: true。在这种情况下,将忽略JSON输入中的Id值,并将“Code”列中的值用作rowid。如果您确实需要href形式/Customer/Detail/Code/2011.0001/Customer/Detail?Code=2011.0001而不是{{1}},则需要使用我之前描述的自定义格式化程序。