2014-10-22 11 views
0

был работал без проблем вчера. Тем не менее, я не могу определить какие-либо очевидные изменения в моем коде после ухода и возвращения на мою рабочую станцию ​​этим утром.igGrid "404 Not Found" on dataSourceURL

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

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

/Главная/GetAllUsersJSON рк = Идентификатор_пользователя & _ = 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'); 
}); 

ответ

0

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

+0

Пожалуйста, посмотрите http://stackoverflow.com/questions/28434621/using-my-custom-ajax-call-for-load-on-demand-on-igharchical-grid –