在 Gridview 中使用 TemplateField 和 jQuery Datatable
Posted
技术标签:
【中文标题】在 Gridview 中使用 TemplateField 和 jQuery Datatable【英文标题】:Using TemplateField in Gridview with jQuery Datatable 【发布时间】:2019-08-09 07:50:15 【问题描述】:我正在使用 Gridview 在 ASP.NET(网络表单)的 TemplateField 内显示下载链接 LinkButton。第一列的标题显示在第二列的所有行的正文中,我得到一个非表节点初始化错误。 删除 jQuery 时,表格正确显示(没有 jQuery Datatables 样式),所以我认为问题出在用于添加标题的 jQuery 中。但是,如果我删除 TemplateField,表格会正确显示,因此我会认为它与 TemplateField 有关。这是aspx页面:
<asp:GridView ID="tblDownload" runat="server" AutoGenerateColumns="false" CssClass="table table-bordered table-striped dataTables_scrollHead" Visible="true">
<Columns>
<asp:BoundField DataField="FILE_NAME" HeaderText="File Name" />
<asp:TemplateField HeaderText="Download" SortExpression="Download">
<ItemTemplate>
<asp:LinkButton ID="ID" runat="server" Text="Download" OnClick="DownloadFile" CommandArgument='<%# Eval("ID") %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这里是 jQuery:
var Table1 = $("[id*=tblDownload]").prepend($("<thead></thead>").append($("[id*=tblDownload] tr:first"))).DataTable(
);
【问题讨论】:
【参考方案1】:解决方法是在 GridView 表中使用ClientIDMode="Static"
。
【讨论】:
以上是关于在 Gridview 中使用 TemplateField 和 jQuery Datatable的主要内容,如果未能解决你的问题,请参考以下文章
鼠标悬停在 Gridview ASP.net 中使用 CSS