igGrid" 404 Not Found"在dataSourceURL上

时间:2014-10-22 17:03:54

标签: jquery asp.net-mvc infragistics ignite-ui iggrid

这个 昨天没有问题。但是,自从今天早上离开并返回我的工作站后,我无法识别代码中的任何明显变化。

我有一个ASP.NET MVC 5控制器方法,它返回一个JsonAction对象,并且不接受任何参数(HttpGet)。我已经测试了它的返回,它正在返回正确的JSON - 与昨天我没有遇到此问题的结构相同。这似乎排除了服务器端的任何可能性。

对dataBind的调用使用的URL如下所示:

  ?

/主页/ GetAllUsersJSON PK =用户ID&安培; _ = 1413996086894

原因似乎是,从Chrome中检查,igGrid的客户端API似乎在dataBind()期间将查询字符串附加(或尝试追加)到dataSourceURL的末尾。我甚至无法在任何相关的数据库表中识别第二个参数(也是无名的,看似只是一个下划线字符)的值(换句话说,我不知道该值来自何处) - 但是,每次调试都会保持不变。

我只使用客户端(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');
});

1 个答案:

答案 0 :(得分:0)

使用dataSource选项代替dataSourceUrldataSourceUrl旨在用于MVC中的按需加载方案,不用于初始数据绑定。您可以将远程URL作为dataSource选项值传递。您看到的参数是主键字段的名称以及jsonp请求完成时要执行的回调。