【问题标题】:asp.net - dataTables - Uncaught TypeError: Cannot read property 'length' of undefined (zero config)asp.net - dataTables - 未捕获的类型错误:无法读取未定义的属性“长度”(零配置)
【发布时间】:2016-06-26 09:22:03
【问题描述】:

我的 ASP.NET webforms 应用程序上有 dataTables,其中的表格将由 Page_Load() 的代码隐藏在它显示之前生成。这适用于我的其他页面,但由于某些我不明白的原因,dataTables 在页面上不起作用,它会抛出“datatables.min.js:42 Uncaught TypeError: Cannot read property 'length' of undefined”。我正在使用 DataTables 的零配置方法。

这是我的 Default.aspx 代码:

<table id="jtable" class="table table-striped table-bordered UserTable"> 
                <thead>
                <tr>
                    <th>Job Title</th><th>Job Category</th><th>Date Posted</th><th>Actions</th>
                </tr>
                </thead>
                <tbody>
                <asp:Literal runat="server" ID="litJobPostings"></asp:Literal>
                </tbody>
            </table>

主文件代码:

<script src="js/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery.prettyPhoto.js"></script>
<script src="js/jquery.isotope.min.js"></script>
<script src="js/main.js"></script>
<script src="js/wow.min.js"></script>
<script src="js/jquery.dataTables.min.js"></script>
<script src="js/datatables.min.js"></script>

    <script>
        $(document).ready(function () {
            $('#jtable').DataTable();
        });
</script>

如何生成表格的 C# 代码:

while (reader.HasRows && reader.Read())
            {
                tablegen = tablegen + "<tr><td>" + reader.GetString(reader.GetOrdinal("JobTitle")) +
                            "</td><td>" + reader.GetString(reader.GetOrdinal("JobCategory")) + "</td><td>" + reader.GetString(reader.GetOrdinal("DatePosted")) +
                            "</td><td><a href = \"JobDetails.aspx?JobCode=" + reader.GetString(reader.GetOrdinal("PostID")) + "\">View/Edit Details</a></td><tr>";
            }
            reader.Close();
            litJobPostings.Text = tablegen;

所以有什么想法吗?同样,这适用于我的其他页面,但不适用于我正在处理的单个页面,我现在很沮丧,哈哈!谢谢! :)

【问题讨论】:

  • 您好朋友,在我看来您没有在动态生成表格行时关闭 标记。查看 tablegen 并将最后一个 更改为 。也许DataTable在扫描DOM时有问题
  • 天啊!!!!!!我真是太笨了,忘记了哈哈哈!谢谢!现在可以了! :D

标签: javascript c# jquery asp.net datatables


【解决方案1】:

好吧,看来我忘了关闭 &lt;tr&gt; 标签了,哈哈!我很困惑,我忘了关闭它大声笑!

tablegen = tablegen + "<tr><td>" + reader.GetString(reader.GetOrdinal("JobTitle")) +
                        "</td><td>" + reader.GetString(reader.GetOrdinal("JobCategory")) + "</td><td>" + reader.GetString(reader.GetOrdinal("DatePosted")) +
                        "</td><td><a href = \"JobDetails.aspx?JobCode=" + reader.GetString(reader.GetOrdinal("PostID")) + "\">View/Edit Details</a></td></tr>";

这应该可以解决它:)

感谢 Stanislav Šolc 的评论指出! :D

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 2021-05-03
    相关资源
    最近更新 更多