Я реализовал простой jqGrid в своем приложении ASP.NET MVC 3. Он показывает данные правильно, так что все в порядке. Но теперь я хочу, чтобы мое приложение показывало детали строки, если я дважды щелкну по строке.
У меня есть метод действия Detail, который на самом деле вызывается с правильным идентификатором, детали извлекаются из базы данных и возвращается представление Details, так что вроде бы все в порядке, но в моем приложении ничего не происходит.
У меня есть следующий скрипт для сетки:
jQuery(document).ready(function ()
{
jQuery("#list").jqGrid({
url: '/Incident/ListData/',
datatype: 'json',
mtype: 'GET',
colNames: ['TicketNumber', 'Title', 'CreatedOn'],
colModel: [
{ name: 'TicketNumber', index: 'TicketNumber', width: 75, align: 'left' },
{ name: 'Title', index: 'Title', width: 250, align: 'left' },
{ name: 'CreatedOn', index: 'CreatedOn', width: 90, align: 'left'}],
pager: jQuery('#pager'),
rowNum: 10,
rowList: [10, 50, 100],
sortname: 'CreatedOn',
sortorder: "desc",
viewrecords: true,
width: 650,
imgpath: '/Content/themes/base/images',
caption: 'Incidents',
ondblClickRow: function (id) { $.get('/Incident/Detail/' + id); }
});
});
Я пытался использовать $ .ajax вместо $ .get, но в обоих случаях вызывается метод details, и ничего не происходит.
Это метод действия Подробности
public ViewResult Detail(Guid id)
{
var query = from inc in _repository.Incidents
where inc.Id == id
select
new IncidentModel(inc)
{
CreatedOn = inc.CreatedOn,
Description = inc.Description,
ModifiedOn = inc.ModifiedOn,
TicketNumber = inc.TicketNumber,
Title = inc.Title,
Status = inc.Status
};
var incident = query.FirstOrDefault();
return View(incident);
}