在 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 内显示下载链接 LinkBut​​ton。第一列的标题显示在第二列的所有行的正文中,我得到一个非表节点初始化错误。 删除 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 中使用 onTap?

在 GridView 中使用 JQuery 自动完成

如何使用 C# 在 gridview 中添加新行?

鼠标悬停在 Gridview ASP.net 中使用 CSS

vs2005(c#.net2.0)中用gridview查询数据库问题,高手请进

如何在颤动中减小gridview.builder的gridview项之间的空间大小