jQuery 数据表 C# 服务器端默认排序列给空

我有一个 jquery 数据表,我为它设置了一个默认的排序列,如下所示:


$('#datatable-responsive').DataTable({

                "oLanguage": {

                    sProcessing: "<img src='/images/gears.svg'>"

                },

                order: ['3', 'desc'],

请注意这部分:


order: ['3', 'desc'],

现在默认的排序列应该是第 4 个 (0,1,2 => 3 (4th))


当我第一次加载页面时,我在 C# 操作中得到了以下正确结果:


var sortColumnDir  = Request["order[0][dir]"];

第一次看起来不错,sorcolumndir 根据需要是“desc”...


现在第二次当我单击表的头部以升序对列进行排序时......我在这一行得到一个空值:


 var sortColumnDir  = Request["order[0][dir]"]; // this is now null for some reason ?

当我在页面之间切换时,没有点击尝试将列 [3] 的顺序更改为升序,这总是好的......但是当我尝试将其更改为升序时,它会抛出异常并返回 null :(


任何想法家伙为什么会发生这种情况?我在这里做错了什么?


PS 伙计们,如果用户没有单击其他列或其他列对其进行排序,则我需要将此列 [3] 始终按降序排列作为默认值。


天涯尽头无女友
浏览 104回答 2
2回答

手掌心

在 js 文件中使用它"order": [[3, "DESC"]],并在您的控制器中使用它,您可以获得默认的排序列和方向&nbsp;var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);&nbsp;var sortDirection = Request["sSortDir_0"]; // asc or desc
打开App,查看更多内容
随时随地看视频慕课网APP