JQueryDatatablesを使用したCore2 MVC

ディオメーデース

ASP.NET COREMVCでのjQueryDataTablesグリッドの使用には、CoreMVCでJQueryDatatablesを使用する方法に関する良い例があります。

サンプルプロジェクトをダウンロードし、いくつかの変更を加えましたが、完全に機能します。

ただし、これをプロジェクトに統合しようとするとエラーが発生します。

DataTablesの警告:table id = example-行0、列0に不明なパラメーター 'IdStudent'を要求しました。このエラーの詳細については、http: //datatables.net/tn/4を参照してください。

エラーで[OK]をクリックすると、テーブルは正しい行数で生成されますが、データはありません。

ここに画像の説明を入力してください

これは私のクラスです:

public class GridStudent
{
    [Key]
    public int IdStudent { get; set; }
    public string Name { get; set; }
    public string LastName { get; set; }
}

HTMLとJavaScript:

    <div class="container">
    <br />
    <div style="width:90%; margin:0 auto;">
        <table id="example" class="table table-striped table-bordered dt-responsive nowrap" width="100%" cellspacing="0">
            <thead>
                <tr>
                    <th>IdStudent</th>
                    <th>Name</th>
                    <th>LastName</th>
                    <th>Edit</th>
                    <th>Delete</th>
                </tr>
            </thead>
        </table>
    </div>
</div>


<script>

    $(document).ready(function ()
    {
        $("#example").DataTable({
            "processing": true, // for show progress bar
            "serverSide": true, // for process server side
            "filter": true, // this is for disable filter (search box)
            "orderMulti": false, // for disable multiple column at once
            "ajax": {
                "url": "/StudentGrid/LoadData",
                "type": "POST",
                "datatype": "json"
            },
            "columnDefs":
            [
                {
                    "targets": [0],
                    "visible": false,
                    "searchable": false,
                }
            ],
            "columns": [
                { "data": "IdStudent", "name": "IdStudent", "autoWidth": true },
                { "data": "Name", "name": "Name", "autoWidth": true },
                { "data": "LastName", "name": "LastName", "autoWidth": true },
                {
                    "render": function (data, type, full, meta)
                    { return '<a class="btn btn-info" href="/StudentGrid/Edit/' + full.IdStudent + '">Edit</a>'; }
                }
                ,
                {
                    data: null, render: function (data, type, row)
                    {
                        return "<a href='#' class='btn btn-danger' onclick=DeleteData('" + row.IdStudent + "'); >Delete</a>";
                    }
                },
            ]
        });
    });

    function DeleteData(CustomerID)
    {
        if (confirm("Are you sure you want to delete ...?"))
        {
            Delete(CustomerID);
        }
        else
        {
            return false;
        }
    }

   function Delete(CustomerID)
   {
        var url = '@Url.Content("~/")' + "StudentGrid/Delete";

        $.post(url, { ID: CustomerID }, function (data)
            {
                if (data)
                {
                    oTable = $('#example').DataTable();
                    oTable.draw();
                }
                else
                {
                    alert("Something Went Wrong!");
                }
            });
   }
</script>

これは、データを返すコントローラーからのコード行です。

return await Task.Run(() => Json(new { draw = draw, recordsFiltered = recordsTotal, recordsTotal = recordsTotal, data = data }));

ここに画像の説明を入力してください

画像からわかるように、コントローラーはデータを正しく返していますが、何らかの理由でDataTablesはデータを読み取ることができません。

サンプルと1000回クロスチェックしましたが、返されるデータの形式に違いが見られません。

助言がありますか?

CalC

これは、シリアル化されたJSONのケーシングが原因である可能性があります。あなたのdataあなたのJavaScript内のカラム定義のプロパティは、パスカルケーシングを期待しています。現在、JSONをPascalケースではなく小文字のキャメルケースとしてシリアル化していると思います(たとえば、idStudentではなくIdStudent)。

JSONをPascalケースとしてシリアル化ConfigureServicesするには、Startupクラスのメソッドに次のものがあることを確認してください

services
    .AddMvc()
    .AddJsonOptions(options =>
    {
        options.SerializerSettings.ContractResolver
            = new Newtonsoft.Json.Serialization.DefaultContractResolver();
    });

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ASP.NET MVC Core2のMetadataPropertyHandlingを使用してJSONデータをバインドするモデル

分類Dev

ASP.NET Core 2 MVC + EF Core2またはAngular5

分類Dev

AspectJ を使用した Spring MVC

分類Dev

Asp.Net Core2のRoleManagerを使用したロールのシード

分類Dev

jqueryDatatablesを使用したRABL

分類Dev

ASP.NET Core 2MVCを使用したJavascriptの構成設定へのアクセス

分類Dev

Asp.Net Core2を実行しているWebapi2上のSerilogを使用したDIILogger

分類Dev

ASP Core MVC、Web API、IdentityServer4を使用したパススルー認証?

分類Dev

SQLite with MVC Core

分類Dev

asp.net mvc core2選択値はビューモデルでは常に0です

分類Dev

MVCを使用したSpring 3 JSON

分類Dev

Razorを使用したMVC4のDropDownList

分類Dev

BeginCollectionItemを使用したMVC5動的行

分類Dev

JQuery-UIを使用したMVCのDateTimePicker

分類Dev

Spring helloworldの例を使用したMVC

分類Dev

VBを使用したMVCのRazor構文

分類Dev

MVCを使用した複雑なUI

分類Dev

JSONPを使用したASP.NETCore MVC

分類Dev

Firebase を使用した MVC パターン

分類Dev

Spring MVC を使用した Angular-Route

分類Dev

Whenを使用したMVCとFluent検証

分類Dev

ASP.NET CORE2のBootstrap + SASSをGulpで更新しましたか?

分類Dev

Asp.Net Core2でPowerShellを使用してweb.configを変更する

分類Dev

Node.jsを使用したjQueryDataTables

分類Dev

Asp.Net MVC Core 2-_LayoutでViewBagを使用する

分類Dev

System.Data.Entity.Core.EntityCommandExecutionExceptionEFを使用してMVCアプリで発生しました

分類Dev

ASP.NET Core MVCを使用して取得したview.cshtmlを認識する方法は?

分類Dev

ASP.NET MVC Core WebAPIおよびEntityFrameworkCoreのTryUpdateModelを使用したモデルの更新が機能しない

分類Dev

ASP.NET Core MVCでORMを使用する正しい方法は?

Related 関連記事

  1. 1

    ASP.NET MVC Core2のMetadataPropertyHandlingを使用してJSONデータをバインドするモデル

  2. 2

    ASP.NET Core 2 MVC + EF Core2またはAngular5

  3. 3

    AspectJ を使用した Spring MVC

  4. 4

    Asp.Net Core2のRoleManagerを使用したロールのシード

  5. 5

    jqueryDatatablesを使用したRABL

  6. 6

    ASP.NET Core 2MVCを使用したJavascriptの構成設定へのアクセス

  7. 7

    Asp.Net Core2を実行しているWebapi2上のSerilogを使用したDIILogger

  8. 8

    ASP Core MVC、Web API、IdentityServer4を使用したパススルー認証?

  9. 9

    SQLite with MVC Core

  10. 10

    asp.net mvc core2選択値はビューモデルでは常に0です

  11. 11

    MVCを使用したSpring 3 JSON

  12. 12

    Razorを使用したMVC4のDropDownList

  13. 13

    BeginCollectionItemを使用したMVC5動的行

  14. 14

    JQuery-UIを使用したMVCのDateTimePicker

  15. 15

    Spring helloworldの例を使用したMVC

  16. 16

    VBを使用したMVCのRazor構文

  17. 17

    MVCを使用した複雑なUI

  18. 18

    JSONPを使用したASP.NETCore MVC

  19. 19

    Firebase を使用した MVC パターン

  20. 20

    Spring MVC を使用した Angular-Route

  21. 21

    Whenを使用したMVCとFluent検証

  22. 22

    ASP.NET CORE2のBootstrap + SASSをGulpで更新しましたか?

  23. 23

    Asp.Net Core2でPowerShellを使用してweb.configを変更する

  24. 24

    Node.jsを使用したjQueryDataTables

  25. 25

    Asp.Net MVC Core 2-_LayoutでViewBagを使用する

  26. 26

    System.Data.Entity.Core.EntityCommandExecutionExceptionEFを使用してMVCアプリで発生しました

  27. 27

    ASP.NET Core MVCを使用して取得したview.cshtmlを認識する方法は?

  28. 28

    ASP.NET MVC Core WebAPIおよびEntityFrameworkCoreのTryUpdateModelを使用したモデルの更新が機能しない

  29. 29

    ASP.NET Core MVCでORMを使用する正しい方法は?

ホットタグ

アーカイブ