2011-08-21 36 views
2

我有一個類(人)有4個屬性:Id,FirstName,LastName,Code。jqgrid列LINQ與ASP.NET MVC

我在jqgrid中顯示一個人員列表。我想與此格式的鏈接列(碼具有這種格式2011.0001)

/人/詳細內容/代碼=> /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"} 
] 
+0

你可以發佈你用來填充網格的測試數據嗎?來自'Code'的值是唯一的嗎?可能是該列可用作網格行的「id」? – Oleg

+0

請參閱update1。代碼是唯一的是的,有一個技術ID,但我希望控制器接收代碼值。 –

+0

如果您需要具有「/ Person/Code/2011.0001」形式的URL,而不是以具有URL參數的「/ Person?Code = 2011.0001」形式,則應使用自定義格式化程序。看到我修改後的答案。 – Oleg

回答

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'} 

如果您在'代碼'欄中有唯一的數據,並且您要將key: true添加到列定義中,則可以輕鬆接收/Customer/Detail?Code=2011.0001。如果來自JSON輸入的Id值將被忽略,並且'代碼'列中的值將用作rowid。如果您確實需要以/Customer/Detail/Code/2011.0001/Customer/Detail?Code=2011.0001的形式獲取href值,則需要使用自定義格式化程序,如前所述。