NO URL IS SET - ошибка в jqGrid (диалог добавления, удаления) - PullRequest
1 голос
/ 27 марта 2012

Я следую Grid для отображения данных, теперь, когда я хочу добавить новую запись, она выдает ошибку «NO URL IS SET SET»

$(document).ready(function () {
        $('#PRGrid').jqGrid({
            //url from wich data should be requested
            url: '@Url.Action("BindData")?FillType=' + getFillType(),
            //event for inline edit
            onSelectRow: function (currentSelectedRow) {
                if (currentSelectedRow && currentSelectedRow != $.lastSelectedRow) {
                    //save changes in row 
                    $('#PRGrid').jqGrid('saveRow', $.lastSelectedRow, false);
                    $.lastSelectedRow = currentSelectedRow;
                }
                //trigger inline edit for row
            },
            //type of data
            datatype: 'json',
            //url access method type
            mtype: 'POST',
            //columns names
            colNames: ['Code', 'Name', 'No_Rooms', 'Dept_Code', 'Total_Items'],
            //columns model
            colModel: [
                        {   name: 'Code', index: 'Code', align: 'left', width: '120px', editable: true, edittype: 'select', editoptions: { maxlength: 25, dataUrl: '@Url.Action("GetRooms")',
                            dataEvents: [{ 
                                type: 'change', fn: function (e) {
                                var ret = $.ajax({
                                url: '@Url.Action("selectRoom")?id=' + $(this).val(),
                                async: false,
                                success: function (ret) {
                                    $('#Name').val(ret.Name);
                                    $('#No_Rooms').val(ret.qty);
                                    $('#Dept_Code').val(ret.DeptCode);
                                    $('#Total_Items').val(ret.Total_Items);}
                                });}
                            }]
                        }},
                        { name: 'Name', index: 'Name', align: 'left', formatter: "text", width: '185px', editable: true, editrules: { required: true }, editoptions: { readonly: 'readonly'} },
                        { name: 'No_Rooms', index: 'No_Rooms', align: 'left', formatter: "text", width: '102px', integer: true, editable: true, editrules: { required: true }, editoptions: { readonly: 'readonly'} },
                        { name: 'Dept_Code', index: 'Dept_Code', align: 'left', formatter: "text", width: '78px', editable: true, editrules: { required: true }, editoptions: { readonly: 'readonly'} },
                        { name: 'Total_Items', index: 'Total_Items', align: 'left', formatter: "text", width: '82px', integer: true, editable: true, editrules: { required: true }, editoptions: { readonly: 'readonly'} },
                    ],
            //pager for grid            
            pager: $('#PRGridPager'),
            //number of rows per page
            rowNum: 5,
            //initial sorting column
            sortname: 'Code',
            //initial sorting direction
            sortorder: 'asc',
            recreateForm:true,
            //we want to display total records count
            viewrecords: true,
            //grid height
            height: '100%'
        });

        $('#PRGrid').jqGrid('navGrid', '#PRGridPager',
                { add: true, del: true, edit:false, search: true },
                {width: '330', url:'@Url.Action("InsertPRGridRecord")', closeAfterAdd: true },
                {width: '330', url:'@Url.Action("DeleteGridRecord")'});

        var dialogPosition = $(this).offset();

Проблема возникает, когда я хочу добавить или удалить запись из сетки,

Здесь я определил оба метода InsertPRGridRecord () и DeleteGridRecord (), но он выдает ту же ошибку «NO URL IS SET» во время отправки данных в диалоговом окне «Добавить запись» или «Удалить запись».

1 Ответ

1 голос
/ 27 марта 2012

Я думаю, что проблема существует, потому что вы используете неверные параметры navGrid . Ваш текущий код использует '@Url.Action("DeleteGridRecord")' в качестве URL-адреса «Добавить» и '@Url.Action("InsertPRGridRecord")' в качестве URL-адреса «Редактировать». URL "Удалить" не указан.

...