igGrid 404 не найден на dataSourceURL

Вчера это работало без проблем. Однако я не могу определить какие-либо очевидные изменения в моем коде с тех пор, как сегодня утром я ушел и вернулся на свою рабочую станцию.

У меня есть метод контроллера ASP.NET MVC 5, который возвращает объект JsonAction и не принимает никаких параметров (HttpGet). Я проверил его возврат, и он возвращает правильный JSON — ту же структуру, что и вчера, когда у меня не было этой проблемы. Кажется, это исключает любые возможности на стороне сервера.

Вызов dataBind использует URL-адрес, который выглядит следующим образом:

/Home/GetAllUsersJSON?pk=userid&_=1413996086894

Причина, по-видимому, заключается в том, что при проверке в Chrome клиентский API igGrid, по-видимому, добавляет (или пытается добавить) строку запроса в конец dataSourceURL во время dataBind(). Я даже не могу определить значение второго параметра (который также безымянный, по-видимому, просто символ подчеркивания) ни в одной из соответствующих таблиц базы данных (другими словами, я понятия не имею, откуда это значение) - однако он остается неизменным при каждой попытке отладки.

Я использую только клиентскую часть (JS) для рендеринга и управления igGrid. Вот этот код:

$(document).ready(function () {
    $('#usersgrid').igGrid({
        autoGenerateColumns: false,
        columns:    [
            { headerText: 'userid', key: 'userid', dataType: 'number' },
            { headerText: 'username', key: 'username', dataType: 'string' },
            { headerText: 'login', key: 'loginid', dataType: 'string' },
            { headerText: 'role', key: 'role', dataType: 'string' },
            { headerText: 'distributor', key: 'distributorid', dataType: 'number' },
            { headerText: 'inactive', key: 'inactive', dataType: 'boolean' },
            { headerText: 'lastupdated', key: 'lastupdated', dataType: 'date', format: 'dateTime' }
        ],
        dataSourceUrl: '/Home/GetAllUsersJSON',
        primaryKey: 'userid',
        features: [{
            name: 'Updating',
            enableAddRow: true,
            enableDeleteRow: true,
            columnSettings: [{
                columnKey: 'userid',
                editorOptions: { readonly: true, disabled: true }
            }, {
                columnKey: 'username',
                editorType: 'string',
                validation: true,
                editorOptions: { required: true }
            }, {
                columnKey: 'loginid',
                editorOptions: { readonly: true, disabled: true }
            }, {
                columnKey: 'role',
                editorType: 'string',
                validation: true,
                editorOptions: { required: true }
            }, {
                columnKey: 'distributorid',
                editorType: 'numeric',
                validation: true,
                editorOptions: { button: 'spin', minValue: 0, maxValue: 2000000, required: true }
            }, {
                columnKey: 'inactive',
                editorType: 'combo',
                editorOptions: {
                    mode: 'dropdown',
                    required: true,
                    dataSource: trueFalseValues,
                    textKey: 'text',
                    valueKey: 'value'
                }
            }, {
                columnKey: 'lastupdated',
                editorOptions: { readonly: true, disabled: true }
            }]
        } ]
    }).igGrid('dataBind');
});

person Tony Gingrich    schedule 22.10.2014    source источник


Ответы (1)


Используйте параметр dataSource вместо dataSourceUrl. dataSourceUrl предназначен для сценариев загрузки по требованию в MVC и не используется для первоначальной привязки данных. Вы можете передать удаленный URL-адрес в качестве значения параметра dataSource. Параметры, которые вы видите, — это имя поля первичного ключа и обратный вызов, который должен быть выполнен после завершения запроса jsonp.

person Konstantin Dinev    schedule 13.11.2014
comment
Пожалуйста, взгляните на stackoverflow.com/questions/28434621/ - person Vivek Vardhan; 11.02.2015