在 Razor 视图中使用 DataTables 插件 - 无法设置未定义的属性(设置“_DT_CellIndex”)错误
Using DataTables Plugin in Razor View - Cannot set properties of undefined (setting '_DT_CellIndex') Error
我正在使用 asp.net mvc 网络应用程序。我创建了一个 table,现在我想在 datatables 中使用该插件。我看到你只需要 3 行代码就可以完成这项工作。我试图完全按照它的要求来工作,并给我所需的数据 table,但它没有给我我期望的 table。我什至去了示例 -> HTML (DOM) 源数据 -> 在 Javascript 选项卡下我输入了所需的行。
是不是我在脚本标签上做错了什么,或者是插件不起作用?我没有下载文件并将其导入到我的项目中。
期待这样的标准外观
但是我得到这个...所以我错过了数据 table 插件的外观和以下错误。
Cannot set properties of undefined (setting '_DT_CellIndex')
我的看法:
@model List<Fright>
@{
ViewData["Title"] = "Home Page";
var result = Model.GroupBy(gb => gb.Value);
}
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<link href="//cdn.datatables.net/1.11.2/css/jquery.dataTables.min.css" rel="stylesheet"/>
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.11.2/js/jquery.dataTables.min.js" defer></script>
<script>
$(document).ready(function () {
$('#homeTable').DataTable();
});
</script>
</head>
<body>
<div>
<table id="homeTable" class="display" style="width:100%">
<thead>
<tr>
<th>Value</th>
<th>Option</th>
</tr>
</thead>
<tbody>
@foreach (var item in result)
{
var url = "/frightSummary/SummaryIndex?id=" + item.Key;
<tr>
<td>
<a href=@url>@item.Key</a>
</td>
</tr>
}
</tbody>
</table>
</div>
</body>
</html>
您的问题是 <td> </td>
的数量不匹配。您只是在 foreach
循环中渲染 1 <td>
但在 table header
中有两个 <th></th>
@model List<Fright>
@{
ViewData["Title"] = "Home Page";
var result = Model.GroupBy(gb => gb.Value);
}
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<link href="//cdn.datatables.net/1.11.2/css/jquery.dataTables.min.css" rel="stylesheet"/>
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.11.2/js/jquery.dataTables.min.js" defer></script>
<script>
$(document).ready(function () {
$('#homeTable').DataTable();
});
</script>
</head>
<body>
<div>
<table id="homeTable" class="display" style="width:100%">
<thead>
<tr>
<th>Value</th>
<th>Option</th>
</tr>
</thead>
<tbody>
@foreach (var item in result)
{
var url = "/frightSummary/SummaryIndex?id=" + item.Key;
<tr>
<td>
<a href=@url>@item.Key</a>
</td>
<td>
<a href=@url>@item.Option</a> /* output you Option value*/
</td>
</tr>
}
</tbody>
</table>
</div>
</body>
</html> ```
我正在使用 asp.net mvc 网络应用程序。我创建了一个 table,现在我想在 datatables 中使用该插件。我看到你只需要 3 行代码就可以完成这项工作。我试图完全按照它的要求来工作,并给我所需的数据 table,但它没有给我我期望的 table。我什至去了示例 -> HTML (DOM) 源数据 -> 在 Javascript 选项卡下我输入了所需的行。
是不是我在脚本标签上做错了什么,或者是插件不起作用?我没有下载文件并将其导入到我的项目中。
期待这样的标准外观
但是我得到这个...所以我错过了数据 table 插件的外观和以下错误。
Cannot set properties of undefined (setting '_DT_CellIndex')
我的看法:
@model List<Fright>
@{
ViewData["Title"] = "Home Page";
var result = Model.GroupBy(gb => gb.Value);
}
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<link href="//cdn.datatables.net/1.11.2/css/jquery.dataTables.min.css" rel="stylesheet"/>
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.11.2/js/jquery.dataTables.min.js" defer></script>
<script>
$(document).ready(function () {
$('#homeTable').DataTable();
});
</script>
</head>
<body>
<div>
<table id="homeTable" class="display" style="width:100%">
<thead>
<tr>
<th>Value</th>
<th>Option</th>
</tr>
</thead>
<tbody>
@foreach (var item in result)
{
var url = "/frightSummary/SummaryIndex?id=" + item.Key;
<tr>
<td>
<a href=@url>@item.Key</a>
</td>
</tr>
}
</tbody>
</table>
</div>
</body>
</html>
您的问题是 <td> </td>
的数量不匹配。您只是在 foreach
循环中渲染 1 <td>
但在 table header
<th></th>
@model List<Fright>
@{
ViewData["Title"] = "Home Page";
var result = Model.GroupBy(gb => gb.Value);
}
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<link href="//cdn.datatables.net/1.11.2/css/jquery.dataTables.min.css" rel="stylesheet"/>
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.11.2/js/jquery.dataTables.min.js" defer></script>
<script>
$(document).ready(function () {
$('#homeTable').DataTable();
});
</script>
</head>
<body>
<div>
<table id="homeTable" class="display" style="width:100%">
<thead>
<tr>
<th>Value</th>
<th>Option</th>
</tr>
</thead>
<tbody>
@foreach (var item in result)
{
var url = "/frightSummary/SummaryIndex?id=" + item.Key;
<tr>
<td>
<a href=@url>@item.Key</a>
</td>
<td>
<a href=@url>@item.Option</a> /* output you Option value*/
</td>
</tr>
}
</tbody>
</table>
</div>
</body>
</html> ```