如何从控制器到jQuery的数据表中的值传递(How to pass value from cont

2019-10-20 16:22发布

我的数据表中的脚本代码是:

$('#datatable').dataTable({

        "processing": true,
        "bServerSide": true,
        "sAjaxSource": "/Employee/AjaxHandler",
        "fnServerParams": function ( aoData ) {
            aoData.push( { "name": "start", "value": something } );
        }

并且这被调用控制器的方法AjaxHandler:

    public ActionResult AjaxHandler(JQueryDataTableParamModel param,int start)
                {
              ...
return Json(new
            {
                sEcho = param.sEcho,
                iTotalRecords = count,
                iTotalDisplayRecords = count,
                aaData = result
            },
            JsonRequestBehavior.AllowGet);
                }

我想从AjaxHandler方法的值将被分配给内部aoData.push()属性“值”将被分配给AjaxHandler方法时传呼期间再次呼吁/排序命名为“启动”的参数,返回一个变量我/filtering.How能做到这一点

Answer 1:

请参考以下链接http://www.codeproject.com/Articles/155422/jQuery-DataTables-and-ASP-NET-MVC-Integration-Part

这是关于如何可以实现目标,以创建Ajax jQuery的数据表相当一个完整的分步指南



Answer 2:

我假设你正在试图获得的数据表功能(呼叫等)工作使用MVC? 那@ Se0ng11添加的链接是很不错的,你应该坚持它。

为了让你有点开始,你需要创建一个类JQueryDataTableParamModel

public class jQueryDataTableParamModel
{
    public string sEcho { get; set; }
    public string sSearch { get; set; }
    public int iDisplayLength { get; set; }
    public int iDisplayStart { get; set; }
    public int iColumns { get; set; }
    public int iSortingCols { get; set; }
    public string sColumns { get; set; }
}

该模型被传递到填充分页位指示,排序和过滤信息-你不需要添加aoData.push

在你的控制器动作:

public ActionResult AjaxHandler(JQueryDataTableParamModel param)
{
    // query to get data
    var data = from a in b select a;

    var count = data.count();

    //use the paging params on your datasource
    var displayedItems = data.Skip(param.iDisplayStart).Take(param.iDisplayLength);
    //  project results into json for datatable
    var result = from r in filteredItems
        select new object[]
        {
          r.Id,
          r.Name
          ...
        }

     return Json(new
     {
          param.sEcho,
          iTotalRecords = count,
          iTotalDisplayRecords = count,
          aaData = result
      }, JsonRequestBehavior.AllowGet);
}

你可以把一个断点在控制器方法和看看什么在传递JQueryDataTableParamModel



文章来源: How to pass value from controller to jquery datatable