在好例子网,分享、交流、成长!
您当前所在位置:首页ASP 开发实例ASP/Basic基础 → jQuery DataTables 与 ASP.NET MVC 集成

jQuery DataTables 与 ASP.NET MVC 集成

ASP/Basic基础

下载此实例
  • 开发语言:ASP
  • 实例大小:0.12M
  • 下载次数:431
  • 浏览次数:5143
  • 发布时间:2013-10-11
  • 实例类别:ASP/Basic基础
  • 发 布 人:zbw911
  • 文件格式:.zip
  • 所需积分:0
 相关标签: jQuery datatable asp.net MVC

实例介绍

【实例简介】

jQuery DataTables 与 ASP.NET MVC 集成,Jquery Datable 插件是一款非常优秀的插件。在官网上没有提供C#实现,

这个实例来源于: http://www.codeproject.com/Articles/155422/jQuery-DataTables-and-ASP-NET-MVC-Integration-Part

 

这是一个系列,

如编辑,等高级功能参见:

 

  • Part 2 - Implementation of CRUD functionalities (add, inline edit, delete) using DataTable in ASP.NET MVC where I have described how you can add data management (CRUD) functionalities such as adding, deleting and editing rows,
  • Part 3 - Reloading content of data tables in ASP.NET MVC where I have shown how you can reload DataTable content using Ajax,
  • Part 4 - Creating an expandable master-details table where I have shown how you can implement opening details row when regular row is selected, 
  • Part 5 - jQuery DataTables Advanced Filtering in ASP.NET MVC - in this article is shown how you can implement advanced filtering, 
  • Part 6 - Table Row Drag and Drop in ASP.NET MVC - in this article is descibed how you can use drag'n'drop row reordering. 
  •  

    :)感谢作者 Jovan Popovic 。


    【实例截图】


    【核心代码】

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $(document).ready(function () {
     
        var oTable = $('#myDataTable').dataTable({
            "bServerSide": true,
            "sAjaxSource": "Home/AjaxHandler",
            "bProcessing": true,
            "aoColumns": [
                            {   "sName": "ID",
                                "bSearchable": false,
                                "bSortable": false,
                                "fnRender": function (oObj) {
                                    return '<a href=\"Company/Details/'   oObj.aData[0]   '\">View</a>';
                                }
                            },
                            { "sName": "COMPANY_NAME" },
                            { "sName": "ADDRESS" },
                            { "sName": "TOWN" }
                        ]
        });
    });

     

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    public ActionResult AjaxHandler(JQueryDataTableParamModel param)
           {
               var allCompanies = DataRepository.GetCompanies();
               IEnumerable<Company> filteredCompanies;
               //Check whether the companies should be filtered by keyword
               if (!string.IsNullOrEmpty(param.sSearch))
               {
                   //Used if particulare columns are filtered
                   var nameFilter = Convert.ToString(Request["sSearch_1"]);
                   var addressFilter = Convert.ToString(Request["sSearch_2"]);
                   var townFilter = Convert.ToString(Request["sSearch_3"]);
     
                   //Optionally check whether the columns are searchable at all
                   var isNameSearchable = Convert.ToBoolean(Request["bSearchable_1"]);
                   var isAddressSearchable = Convert.ToBoolean(Request["bSearchable_2"]);
                   var isTownSearchable = Convert.ToBoolean(Request["bSearchable_3"]);
     
                   filteredCompanies = DataRepository.GetCompanies()
                      .Where(c => isNameSearchable && c.Name.ToLower().Contains(param.sSearch.ToLower())
                                  ||
                                  isAddressSearchable && c.Address.ToLower().Contains(param.sSearch.ToLower())
                                  ||
                                  isTownSearchable && c.Town.ToLower().Contains(param.sSearch.ToLower()));
               }
               else
               {
                   filteredCompanies = allCompanies;
               }
     
               var isNameSortable = Convert.ToBoolean(Request["bSortable_1"]);
               var isAddressSortable = Convert.ToBoolean(Request["bSortable_2"]);
               var isTownSortable = Convert.ToBoolean(Request["bSortable_3"]);
               var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);
               Func<Company, string> orderingFunction = (c => sortColumnIndex == 1 && isNameSortable ? c.Name :
                                                              sortColumnIndex == 2 && isAddressSortable ? c.Address :
                                                              sortColumnIndex == 3 && isTownSortable ? c.Town :
                                                              "");
     
               var sortDirection = Request["sSortDir_0"]; // asc or desc
               if (sortDirection == "asc")
                   filteredCompanies = filteredCompanies.OrderBy(orderingFunction);
               else
                   filteredCompanies = filteredCompanies.OrderByDescending(orderingFunction);
     
               var displayedCompanies = filteredCompanies.Skip(param.iDisplayStart).Take(param.iDisplayLength);
               var result = from c in displayedCompanies select new[] { Convert.ToString(c.ID), c.Name, c.Address, c.Town };
               return Json(new
                               {
                                   sEcho = param.sEcho,
                                   iTotalRecords = allCompanies.Count(),
                                   iTotalDisplayRecords = filteredCompanies.Count(),
                                   aaData = result
                               },
                           JsonRequestBehavior.AllowGet);
           }

     


    实例下载地址

    jQuery DataTables 与 ASP.NET MVC 集成

    不能下载?内容有错? 点击这里报错 + 投诉 + 提问

    好例子网口号:伸出你的我的手 — 分享

    网友评论

    发表评论

    (您的评论需要经过审核才能显示)

    查看所有0条评论>>

    小贴士

    感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

    • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
    • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
    • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
    • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

    关于好例子网

    本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

    ;
    报警