在Gridview和jQuery Datatable中使用TemplateField

时间:2019-03-18 20:56:06

标签: jquery asp.net gridview datatables

我正在使用Gridview在ASP.NET(网络表单)的TemplateField内部显示下载链接LinkBut​​ton。第一列的标题显示在第二列的所有行的正文中,并且出现非表节点初始化错误。 enter image description here 删除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 个答案:

答案 0 :(得分:0)

解决方案是在GridView表中使用ClientIDMode="Static"