我在我的ASP.NET webforms应用程序上安装了ASP.NET,在该应用程序中,表将在Page_Load()出现之前由代码隐藏处生成。这在我的其他页面上是可行的,但是出于一些我不明白的原因,dataTables不能在页面上工作,它会抛出"datatables.min.js:42 Uncaught TypeError:无法读取未定义的属性的‘长度’“。我使用的是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;有什么想法吗?再一次,这在我的其他页面上有效,但在我正在处理的一页上就不行了,我现在非常沮丧!谢谢!:)
发布于 2016-06-26 11:31:08
好的,看来我忘了关闭<tr>标签lol了!我太困惑了,我忘了关闭它,哈哈!
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
https://stackoverflow.com/questions/38036994
复制相似问题