Дата не загружается поговорка в ожидании активации json - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь использовать datatable и мне было интересно, что я делаю неправильно, он просто зависает при загрузке и показывает ожидание запуска.Это на моем контроллере активности, и функция LoadGridData вызывается из сценариев ниже в моем index.cshtml.

public ActionResult LoadGridData()
{                     
        // Getting all Customer data    
        var data = GetAllActivityHeader();           

        return Json(new {  data = data });
 }

Вот моя функция GetallActivityHeader

public async Task<ActionResult<List<ActivityHeader>>> GetAllActivityHeader()
{
        return await _activityRepo.GetAllActivityHeader();
 }

Это мой метод репозитариякоторый вызывается выше.

public async Task<List<ActivityHeader>> GetAllActivityHeader()
{           
     using (IDbConnection conn = Connection)
     {
           if(conn.State == ConnectionState.Closed)
              conn.Open();

            var result = await conn.QueryAsync<ActivityHeader>("GetActivityHeader");
            return result.ToList();
      }         
}

В My Layout у меня есть следующие сценарии

@section Scripts{
<script src="//cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js"> 
</script>
 <script>
     $(document).ready(function () {
        $('#myTable').DataTable({
            "ajax": {
                "url": "/Activity/LoadGridData",
                "type": "GET",
                "datatype": "json"
            },
            "columns": [
                { "data": "Name", "autoWidth": true },
                { "data": "Description", "autoWidth": true },
                { "data": "Phone", "autoWidth": true },
                { "data": "EmployeeName", "autoWidth": true },
                { "data": "SOP", "autoWidth": true },
                { "data": "Status", "autoWidth": true }
            ]
        });
    });
</script>

Html

<div class="container">
  <br />
  <div style="width:90%; margin:0 auto;">
     <table id="myTable" class="table table-striped table-bordered dt-responsive nowrap" width="100%" cellspacing="0">
        <thead>
            <tr>
                <th>Name</th>
                <th>Description</th>
                <th>Phone</th>
                <th>EmployeeName</th>
                <th>SOP</th>
                <th>Status</th>
            </tr>                    
        </thead>
    </table>
</div>

Но когда я отлаживаю код, я получаюследующая проблема.Также по какой-то причине мои кнопки редактирования и удаления не отображаются, я полагаю, что мне нужно кодировать их, прежде чем они отобразятся.Есть ли лучшие компоненты для работы с таблицами данных и ядром asp.net?.

enter image description here

А также вот что показывает мой взгляд

enter image description here

Редактировать 1 Хорошо, поэтому я сделал метод асинхронным, и это сработало, и там данные их, но он по-прежнему говорит, что в базе данных нет данных

    public async Task<ActionResult> LoadGridData()
    { 

       // Getting all Customer data    
        var data = await GetAllActivityHeader();           

        return Json(new {  data = data });
    }

enter image description here

enter image description here

Наконец, это мой класс. Я не хочу отображать все вdatatable, поэтому я просто использовал заголовки столбцов, которые я хотел, или это не так, как работают datatables?.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...