Использование TemplateField в Gridview с JQuery Datatable - PullRequest
0 голосов
/ 18 марта 2019

Я использую Gridview для отображения ссылки на скачивание LinkButton внутри TemplateField в ASP.NET (веб-формы). Заголовок первого столбца отображается в теле всех строк второго столбца, и я получаю ошибку инициализации узла без таблицы. enter image description here Таблица отображается правильно (без стиля jQuery Datatables) при удалении jQuery, поэтому я предполагаю, что проблема заключается в 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 голосов
/ 21 марта 2019

Решением является использование ClientIDMode="Static" в таблице GridView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...