如何使标签值在中继器中不可搜索?

时间:2018-10-26 11:20:15

标签: javascript jquery asp.net

<asp:Repeater ID="rptListaRequisicoes" runat="server">
                <HeaderTemplate>
                    <table id="example3" class="table table-bordered table-hover">
                        <thead>
                            <tr>
                                <th style="width:200px">Nome</th>
                                <th style="width:50px">Pedido</th>
                                <th style="width:50px">Estado</th>
                                <th style="width:50px"></th>
                                <th style="width:50px"></th>
                            </tr>
                        </thead>
                </HeaderTemplate>
                <ItemTemplate>
                    <tr>
                        <td style="width:200px">
                            <asp:Label ID="lblIdReq" runat="server" Text='<%# Eval("IdReq") %>' Style="display: none;" />
                            <asp:LinkButton Font-Bold="true" runat="server" ID="lkbtnDetalhes" OnClick="DetalhesRequisicao"><%# Eval("Nome") %> </asp:LinkButton>
                        </td>
                        <td style="width:50px">
                            <asp:Label Font-Bold="true" ID="lblPedido" runat="server" Text='<%# Eval("TipoPedido") %>'/>
                        </td>
                        <td style="width:50px">
                            <asp:Label Font-Bold="true" ID="lblEstado" runat="server" Text='<%# Eval("Descricao") %>'/>
                        </td>
                        <td style="width:50px">
                            <asp:LinkButton Font-Bold="true" runat="server" ID="OnAprovar" Text="Aprovar" OnClientClick='<%# Eval("Nome","Javascript:return confirm(\"Deseja aprovar a requisição: {0}\");") %>' OnClick="OnAprovar_clik"/>
                        </td>
                        <td style="width:50px">
                            <asp:LinkButton Font-Bold="true" runat="server" ID="OnRecusar" Text="Recusar" OnClientClick='<%# Eval("Nome","Javascript:return confirm(\"Deseja recusar a requisição: {0}\");") %>' OnClick="OnRecusar_clik"/>
                        </td>
                    </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table>
                </FooterTemplate>
            </asp:Repeater>


<script>
     $(function () {
            $('#example1').DataTable()
            $('#example3').DataTable()
            $('#example4').DataTable({
                'paging': true,
                'lengthChange': false,
                'searching': false,
                'ordering': true,
                'info': true,
                'autoWidth': false
            })
        })
</script>

这是使用DataTable样式的中继器中的简单表。

表中有一个搜索框,如果我键入数字,它将显示链接到该记录的ID。我如何像显示禁用它一样禁用被搜索的内容?我试图禁用标签,但是也没有用,所以我真的看不到还有什么可以尝试使该控制器不可搜索的

2 个答案:

答案 0 :(得分:0)

您可以将一个类应用于标签(例如,在asp:Label元素上使用CssClass="SomeClassName"),并优化搜索以排除具有该类的元素。

如果搜索使用的是基于标签的jQuery,则可以在jQuery选择器上使用:not("SomeClassName")来排除这些元素。

答案 1 :(得分:0)

如果有人遇到这个问题,我可以用这段代码解决

$('#example').dataTable( {
  "columnDefs": [
    { "searchable": false, "targets": 0 }
  ]
} );

目标前面的数字是该列。之所以对我有用,是因为我的ID标签与Name相同,所以我刚刚创建了另一个ID标签并解决了问题