Javascript MVC.JQuery.DataTables-排序不起作用

Javascript MVC.JQuery.DataTables-排序不起作用,javascript,asp.net-mvc,datatables,mvc.jquery.datatables,Javascript,Asp.net Mvc,Datatables,Mvc.jquery.datatables,我正在我的一个项目中使用MVC.JQuery.DataTables版本1.5.36。 我使用Ajax选项从服务器端查询数据 控制器检索数据的操作如下所示: public async Task<ActionResult> GetAllMyTasksTable(DataTablesParam dataTableParam, DateRangeQueryOption queryParameters) { var currentUser = await

我正在我的一个项目中使用MVC.JQuery.DataTables版本1.5.36。 我使用Ajax选项从服务器端查询数据

控制器检索数据的操作如下所示:

        public async Task<ActionResult> GetAllMyTasksTable(DataTablesParam dataTableParam, DateRangeQueryOption queryParameters)
    {
        var currentUser = await UserService.CurrentUser();
        var timezoneOffsetMinutes = UserSettings.UTCOffsetMinutes;
        var tasks = TaskBoardService.GetAllMyTasks(currentUser, queryParameters, timezoneOffsetMinutes).OrderBy(t => t.DueDate).ThenBy(t => t.ListTitle);
        return DataTablesResult.Create(tasks.Select(t => new SPTaskViewModel(t.Id, t.Title)
        {
            ListTitle = t.ListTitle,
            DueDateString = t.DueDateString,
            Status = t.Status,
            Effort = t.Effort,
            WorkUnits = t.WorkUnits,
            TotalWork = t.TotalWork
        }).AsQueryable().Cast<SPTaskViewModel>(), dataTableParam, new ResponseOptions<SPTaskViewModel>() { ArrayOutputType = ArrayOutputType.ArrayOfObjects });
    }
公共异步任务';
返回rowHtml;
},
目标:1
},
{
呈现:函数(数据、类型、行){
var rowHtml='';
如果(第行是新的){
rowHtml=rowHtml+“@Strings.New”;
}
如果(第行卡住){
rowHtml=rowHtml+“@Strings.OnHold”;
}
if(第三排绿色){
rowHtml=rowHtml+“@Strings.逾期”;
}
返回rowHtml;
},
目标:2
}
]
});
$('#'+elementId).on('draw.dt',function(){
停下来;
init_laddaButtons();
});
}
从版本1.3.xx更新后,排序停止工作

我不知道我的数据/配置有什么问题,排序停止了

有没有人遇到过类似的问题并找到了解决方案

这就是我在JavaScript对象中看到的

这是控制器中的.Net对象

我认为型号活页夹可能未注册-请尝试添加以下内容:

if (!ModelBinders.Binders.ContainsKey(typeof (DataTablesParam)))
                ModelBinders.Binders.Add(typeof (DataTablesParam), new DataTablesModelBinder());

对于启动代码(例如,在global.asax/Application\u Start中)

我认为可能没有注册model binder-尝试添加以下内容:

if (!ModelBinders.Binders.ContainsKey(typeof (DataTablesParam)))
                ModelBinders.Binders.Add(typeof (DataTablesParam), new DataTablesModelBinder());

对于启动代码(例如在global.asax/Application\u Start中)

Hi,我编写了Mvc.JQuery.DataTables.NET代码。我有点被你想要实现的东西弄糊涂了。您正在尝试只进行服务器端排序吗?i、 e.客户不同意;我不能控制它?嗨,我想做客户端排序。在我的项目中,我已将版本1.3.56更新为1.5.36。更新后,客户端排序不再工作。我尝试了很多方法让它重新工作,但我找不到任何原因,为什么排序停止工作。在我再次降级后,它像以前一样工作。当我使用1.5.36单击表中的列标题时,什么也没有发生。奇怪的是,服务器端和客户端有什么关系。。。你能重现这个问题吗?或者它只是发生在我的项目中。你能用Fiddler捕捉发布的数据吗?查看是否正确传递了筛选器选项。确保Datatables版本与示例站点上的版本匹配-您可以看到所有功能都在那里工作。嗨,感谢您的提示,我会尽快尝试并让您知道结果。嗨,我编写了Mvc.JQuery.Datatables.NET代码。我有点被你想要实现的东西弄糊涂了。您正在尝试只进行服务器端排序吗?i、 e.客户不同意;我不能控制它?嗨,我想做客户端排序。在我的项目中,我已将版本1.3.56更新为1.5.36。更新后,客户端排序不再工作。我尝试了很多方法让它重新工作,但我找不到任何原因,为什么排序停止工作。在我再次降级后,它像以前一样工作。当我使用1.5.36单击表中的列标题时,什么也没有发生。奇怪的是,服务器端和客户端有什么关系。。。你能重现这个问题吗?或者它只是发生在我的项目中。你能用Fiddler捕捉发布的数据吗?查看是否正确传递了筛选器选项。确保Datatables版本与示例站点上的版本匹配-您可以看到所有功能都在那里工作嗨,感谢您的提示,我会尽快尝试并让您知道结果。