15

asp.net mvc (C#) アプリケーションに jquery データテーブル サーバー側処理 ( http://datatables.net ) を使用する必要があります。

私のアプリケーションには、テーブルにリストとして表示する数千のレコードがあります。ページング、フィルタリング、検索を有効にするためにjquery datatableを使用しています。

asp.net mvc (C#) で使用する jquery datatable サーバー側処理に関する適切なリファレンス/記事はありますか?

4

6 に答える 6

8

こんにちは、このリンクはあなたに役立つかもしれません...

http://www.dotnetawesome.com/2015/11/jquery-datatable-server-side-pagination-sorting.html

ここでは、ASP.NET MVC での jQuery Datatable サーバー側のページネーションと並べ替えに関する記事を、サーバー dside として asp.net mvc (C#) で段階的に説明しました。

jQuery Datables をセットアップするための jQuery コード

<script>
    $(document).ready(function () {
        $("#myTable").DataTable({
            "processing": true, // for show progress bar
            "serverSide": true, // for process server side
            "filter": false, // this is for disable filter (search box)
            "orderMulti": false, // for disable multiple column at once
            "ajax": {
                "url": "/home/LoadData",
                "type": "POST",
                "datatype": "json"
            },
            "columns": [
                    { "data": "ContactName", "name": "ContactName", "autoWidth": true },
                    { "data": "CompanyName", "name": "CompanyName", "autoWidth": true },
                    { "data": "Phone", "name": "Phone", "autoWidth": true },
                    { "data": "Country", "name": "Country", "autoWidth": true },
                    { "data": "City", "name": "City", "autoWidth": true },
                    { "data": "PostalCode", "name": "PostalCode", "autoWidth": true }
            ]
        });
    });
</script>

ASP.NET C# コード (MVC)

[HttpPost]
    public ActionResult LoadData()
    {

        var draw = Request.Form.GetValues("draw").FirstOrDefault();
        var start = Request.Form.GetValues("start").FirstOrDefault();
        var length = Request.Form.GetValues("length").FirstOrDefault();
        //Find Order Column
        var sortColumn = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][name]").FirstOrDefault();
        var sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();


        int pageSize = length != null? Convert.ToInt32(length) : 0;
        int skip = start != null ? Convert.ToInt32(start) : 0;
        int recordsTotal = 0;
        using (MyDatatableEntities dc = new MyDatatableEntities())
        {

            var v = (from a in dc.Customers select a);

            //SORT
            if (!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDir)))
            {
                v = v.OrderBy(sortColumn + " " + sortColumnDir);
            }

            recordsTotal = v.Count();
            var data = v.Skip(skip).Take(pageSize).ToList();
            return Json(new { draw = draw, recordsFiltered = recordsTotal, recordsTotal = recordsTotal, data = data }, JsonRequestBehavior.AllowGet);
        }
    }
于 2015-11-27T10:04:55.203 に答える
7

https://github.com/johannes-brunner/DataTables-ASP.NET-MVC

これはサンプル プロジェクトです。ダウンロードしてデバッグすることで、DataTables が .NET MVC でどのように機能するかを感じ取ることができます。トピックの足場を見つけるのに役立ちました。

于 2012-10-02T15:36:08.473 に答える