Передача переменных через URL в Jqgrid в контроллер в MVC - PullRequest
2 голосов
/ 19 мая 2011

Как передать значения из URL в Jqgrid, проблема в том, что Jqgrid необходимо загрузить на основе ссылки редактирования на предыдущей странице, и у нас есть URL-адрес, такой как:

    http://localhost:49771/Search/EditSearchResults?id=ID_HelpTopics&action=edit

Мне нужно бытьЯ могу использовать этот идентификатор в URL для заполнения данных сетки, поэтому мне нужно передать это значение через сетку в контроллер, чтобы получить результаты, и у меня есть такая сетка:

            $("#list").jqGrid({
            url: '<%= Url.Action("EditSearchResults", new {controller = "JSonData" }) %>', 
            datatype: 'json',
            colNames: ['Language', 'ID'],
            colModel: [
                { name: 'Language', index: 'Language', editable: false, width: 40, align: 'left', sortable: false },
               { name: 'ID', index: 'ID', width: 40, editable: true, edittype: "text", align: 'left', editoptions: { size: 5, maxlength: 30 }, sortable: false }, ],

            editurl: '<%= Url.Action("EditSearchResults", new {controller = "JSONData"}) %>',
            pager: '#pager',
            //autowidth: true,
            width: "500",
            autowidth: true,
            rowNum: 20,
            height: "200",
            loadonce: false,
            rowList: [5, 10, 20, 50],
            recordtext: "View Records {0} - {1} of {2}",
            emptyrecords: "No records to view",
            loadtext: "Loading...",
            pgtext: "Page {0} of {1}",
            sortname: 'Results',
            sortorder: "desc",
            viewrecords: true,
            scroll: false,
            loadonce: false,
            caption: 'Edit Search Results',
            ondblClickRow: function (id) {
                if (id != null) {
                        jQuery('#grid').jqGrid('restoreRow', lastsel);
                        jQuery('#list').jqGrid('saveRow', id);
                        jQuery('#list').jqGrid('editRow', id, true, false, processEdit);
                        lastsel = id;
                }

            }
        });
        });

Как использовать текущийURL для передачи идентификатора контроллеру для заполнения jqgrid. Каким должен быть контроллер и jqgrid?Есть идеи?

1 Ответ

3 голосов
/ 19 мая 2011

Url.Action примет анонимный объект в качестве набора параметров

url: '<%= Url.Action("EditSearchResults", 
                     new {controller = "JSonData" },
                     new {id = Request.Params[id] }) %>',

Однако было бы предпочтительнее сделать эту часть вашей модели, чем в зависимости от запроса.

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