asp.net mvc ajax json неопределенные данные, подлежащие обработке

#javascript #jquery #asp.net-mvc #datatables

Вопрос:

У меня есть вызов ajax, который приносит данные для заполнения моей таблицы данных.

Мой код контроллера таков

 [HttpGet]
        public async Task<IActionResult> GetAll()
        {
            var list = Json(new { data =  _db.Indicador.ToList() });
            return Json(new { data = await _db.Indicador.ToListAsync() });
        }
 

Я установил в списке var точку останова, чтобы просмотреть данные.

введите описание изображения здесь

У меня также есть таблица индексов по умолчанию и добавленные таблицы данных. введите описание изображения здесь

В первом и втором столбцах есть данные, но таблицы данных мне их не показывают.

Для моего javascript у меня есть.

 function loadDataTable() {
    dataTable = $('#DT_load').DataTable({
        "columnDefs": [{
            "defaultContent": "-",
            "targets": "_all"
        }],
        "ajax": {
            "url": '/api/indicador',
            "type": "GET",
            "dataType": "json"
        },
        "columns": [
            { "data": "Nombre_Indicador", "width": "20%" },
            { "data": "Descripcion_Indicadores", "width": "20%" },
            { "data": "medida", "width": "20%" },
            { "data": "objetivo", "width": "20%" },
            { "data": "perfil", "width": "20%" },
            { "data": "ponderacion", "width": "20%" },
            { "data": "base", "width": "20%" },
            { "data": "meta", "width": "20%" },
            {
                "data": "id_indicador",
                "render": function (data) {
                    return `<div class="text-center">
<a href="/Indicadores/Edit?id=${data}" class='btn btn-success text-white' style='cursor:pointer; width:70px;'>
Editar
</a>
amp;nbsp;
<a class='btn btn-danger text-white' style='cursor:pointer; width:70px;'
onclick=Delete('/api/indicador?id=' ${data})>
Eliminar
</a>
</div>`;
                }, "width": "40%"
            }
        ],
        "language": {
            "emptyTable": "no se encontraron datos"
        },
        "width": "100%"
    })
}
 

Таким образом, кажется, что нет данных для 3 столбцов: Nombre_Indicador, Descripcion_Indicadores и id_indicador.

Я понятия не имею, что здесь происходит, так как эти данные поступают из базы данных.

Комментарии:

1. Вы проверили вкладку «Сеть», действительно ли эти значения поступают на клиент? Может ли это быть проблемой с корпусом? Все работающие столбцы на клиенте строчные, но на сервере все они начинаются с прописных букв. Попробуйте изменить значения столбцов «данные» на строчные.

2. @ferikeem я перешел на строчные буквы, но не повезло, также сеть показывает мне информацию внутри json и показывает следующее: {«данные»:[{«id_Indicador»:2,»обычай»:null,»nombre_Indicador»:»Вента де Каррос БМ»,»Описание_индикадорес»:»Индикадор де вентас»,»медида»:554,»объект»:564,»перфил»:»секретария»,»ponderacion»:10,»база»:8,»мета»:10}]} существует только одно нулевое значение, но мне не нужно показывать его в таблице данных

3. Не меняйте все на строчные буквы — только начальную букву. Более конкретно, убедитесь, что вы используете точные имена, как показано в сетевом инструменте браузера. Так, например, используйте nombre_Indicador . Но не используйте Nombre_Indicador , или nombre_indicador . Имена, используемые таблицами данных, должны точно соответствовать тому, что содержится в необработанных данных JSON.

4. @andrewjames Вот и все, я изменил имена, начальную букву на более низкую, теперь я могу видеть данные в базах данных.