DataTables 在 asp.net mvc 4 中不工作

DataTables not working in asp.net mvc 4

我正在尝试使用 asp.net mvc 4 和 EF6 创建一个网站,用户可以在其中使用来自客户端的排序、分页和过滤 table。我正在为这些功能使用 DataTables 1.10.4 jQuery 插件。到目前为止,所有内容都已完美加载,但如果我单击 <th> 内容,列不会得到排序,无论我在筛选框中键入什么,筛选都不起作用。我在浏览器控制台中没有看到任何错误。这是我的代码,

控制器

public ActionResult UserLogin()
    {
        if (Session["UserNAME"] != null)
        {
            var mkimodel = new MkistatVsUserLogin { mkistats = db.mkistats.ToList() };
            return View(mkimodel);
        }
        else
        {
            return RedirectToAction("Home");
        }
    }

查看

<table id="mktTable" class="table">
<thead>
<tr>
    <th>CodeName</th><th>% Change</th><th>High Price</th><th>Open Price</th><th>Total Value</th>
</tr>
</thead>
@foreach (var item in Model.mkistats)
{
<tbody>
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.MKISTAT_CODE)
    </td>
    <td>
        5%
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.MKISTAT_HIGH_PRICE)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.MKISTAT_OPEN_PRICE)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.MKISTAT_TOTAL_VALUE)
    </td>        
</tr>
</tbody>
}
</table>

_Layout.cshtml

<head>
<link href="~/Content/jquery.dataTables.css" rel="stylesheet" />
</head>

<body>
    <script src="~/Scripts/jquery-1.9.1.min.js"></script>
    <script src="~/Scripts/bootstrap.min.js"></script>
    <script src="~/Scripts/DataTables-1.10.4/jquery.dataTables.min.js"></script>
    <script>
        $(document).ready(function () {
            $('#mktTable').DataTable();
        });        
    </script>
    @RenderBody()
    @RenderSection("scripts", required: false)
</body>

我的代码有问题吗?我怎样才能让 dataTables 工作?非常需要这个帮助。 Tnx.

将此添加到您的数据中table 初始化代码。

$('#mktTable').DataTable({
"aoColumns": [
{ "bSortable": true },
{ "bSortable": true },
{ "bSortable": true },
{ "bSortable": true }
]
});

在这里,您必须添加与 table 中一样多的列。您还可以通过设置 "bsortable":false 来禁用对特定列的排序。每列都指向 table.For 示例中的列索引,如果您想禁用对第一列的排序,您将这样写

$('#mktTable').DataTable({
"aoColumns": [
{ "bSortable": false },
{ "bSortable": true },
{ "bSortable": true },
{ "bSortable": true }
]
});

编辑

您已经在 foreach 循环中写入了 tbody 标签。从 foreach 循环中取出这个。