/// <summary> /// 获取表格参数 /// </summary> /// <returns></returns> public GridParams GetGridParams() { var grid = new GridParams(); var request = new HttpRequestExtension(HttpContext.Request); if (!string.IsNullOrEmpty(request["rows"])) { grid.PageSize = Int32.Parse(request["rows"]); } if (grid.PageSize == 0) { grid.PageSize = 10; } if (!string.IsNullOrEmpty(request["page"])) { grid.PageIndex = Int32.Parse(request["page"]); if (grid.PageIndex == 0) { grid.PageIndex = 0; } } if (!string.IsNullOrEmpty(request["sort"])) { grid.SortField = request["sort"].ToString(); } if (!string.IsNullOrEmpty(request["order"])) { grid.SortDirection = request["order"].ToString(); } if (!string.IsNullOrEmpty(request["total"]) && request["total"] != "NaN") { grid.TotalCount = int.Parse(request["total"]); } if (!string.IsNullOrEmpty(request["gridFields"])) { grid.Columns = JSONHelper.FromJsonTo <List <GridColumn> >(request["gridFields"]); } return(grid); }
/// <summary> /// 此方法用于显式调用 /// </summary> /// <param name="controllerContext"></param> /// <returns></returns> public DatatablesParameters BindModel(ControllerContext controllerContext) { var request = new HttpRequestExtension(controllerContext.HttpContext.Request); // Retrieve request data int draw = 0, start = 0, length = 0; draw = request["draw"] != null?Convert.ToInt32(request["draw"]) : draw; start = request["draw"] != null?Convert.ToInt32(request["start"]) : start; length = request["draw"] != null?Convert.ToInt32(request["length"]) : length; // Search var search = new DataTablesSearch { Value = request["search[value]"] != null ? request["search[value]"] : string.Empty, Regex = request["search[regex]"] != null?Convert.ToBoolean(request["search[regex]"]) : false }; // Order var o = 0; var order = new List <DataTablesOrder>(); while (request["order[" + o + "][column]"] != null) { order.Add(new DataTablesOrder { Column = request["order[" + o + "][column]"] != null ? Convert.ToInt32(request["order[" + o + "][column]"]) : -1, Dir = (request["order[" + o + "][dir]"] != null && request["order[" + o + "][dir]"].ToString().ToUpper() == "DESC") ? DataTablesOrderDir.Desc : DataTablesOrderDir.Asc }); o++; } // Columns var c = 0; var columns = new List <DataTablesColumns>(); while (request["columns[" + c + "][name]"] != null) { columns.Add(new DataTablesColumns { Data = request["columns[" + c + "][data]"], Name = request["columns[" + c + "][name]"], Orderable = Convert.ToBoolean(request["columns[" + c + "][orderable]"]), Searchable = Convert.ToBoolean(request["columns[" + c + "][searchable]"]), Search = new DataTablesSearch { Value = request["columns[" + c + "][search][value]"], Regex = Convert.ToBoolean(request["columns[" + c + "][search][regex]"]) } }); c++; } return(new DatatablesParameters { Draw = draw, Start = start, Length = length, Search = search, Order = order, Columns = columns }); }