JQGrid + ASP.NET MVC 3 Перенаправление для записи деталей при двойном щелчке - PullRequest
0 голосов
/ 26 сентября 2011

Я реализовал простой 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);
    }

Ответы [ 2 ]

2 голосов
/ 26 сентября 2011

$.get отправляет запрос AJAX и выдает ответ сервера.
Это на самом деле ничего не делает с ответом сервера; это зависит от вас, чтобы сделать что-то полезное.

Похоже, вы вообще не хотите AJAX; вместо этого вы хотите перейти на эту страницу:

location = '/Incident/Detail/' + id
0 голосов
/ 26 сентября 2011

Как сказал Слакс, вы ничего не делаете с контентом. Должно ли событие двойного щелчка перенаправлять браузер на это действие?

(просто примечание, зачем двойной щелчок? Почти все остальное на основе сети использует один щелчок для просмотра).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...