使用Asp.net MVC Action方法从json中提取ajax数据表

Lea*_*ner 1 ajax asp.net-mvc json

我正在使用Ajax Datatable,我想用Json数据提供表,我从MVC Action方法返回.这是我到目前为止所尝试的,

我的控制器动作方法

public ActionResult Index()
{
    _dbcontext = new dbContext();
    List<Employee> employees = new List<Employee>();
    var query = (from e in _dbcontext.Employees select new { e.FirstName, e.LastName, e.Username, e.Password }).ToList();
    return Json(query,JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)

这是我在索引页面上的Javascript

</script>
    $(document).ready(function () {
        $('#example').dataTable({
            "processing": true,
            "serverSide": true,
            "ajax": {
                "url": "Home/Index",
                "dataType": "jsonp"
            }
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

但是在页面加载时只能看到普通的Json数据并且没有数据表,我认为它甚至没有在索引页面上呈现Html,因此也没有Datatable,因为我在chrome调试器中看不到任何内容.

此外,Html和脚本引用都是好的,因为当我从具有数据数组的.txt文件中提供数据表时,我可以看到结果.

我不知道这样做的正确方法是什么,如果有人有解决方案,那么请帮忙,谢谢.

Hos*_*kat 5

我认为你需要做的只是以下几点

</script>
    $(document).ready(function () {
        $('#example').dataTable({
            "ajax": "/Home/Index",
             "columns": [
                        { "data": "FirstName" },
                        { "data": "LastName" },
                        { "data": "Username" },
                        { "data": "Password" },
                        ]
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

不需要处理和服务器端,当你有大量数据并希望在服务器端完成分页和排序时使用它们,而代码中不是这种情况