Asp.net 点击表格标题对表格进行排序:是否存在asp:repeater问题?

Asp.net 点击表格标题对表格进行排序:是否存在asp:repeater问题?,asp.net,Asp.net,我试图构建一个排序函数,根据我单击的行对表进行排序。我遇到的问题是,当我单击该行时,它返回的数据太多,相同的数据只重复了几百次。我认为这是我用来提取数据的asp:Repeater的一个问题,但是我想不出解决这个问题的方法。如果你对如何解决这个问题有任何想法,我将不胜感激。如果你有一个更好的解决方案,让我知道,我可以重新开始 排序本身还不起作用,但我可以稍后再做。我只需要知道如何使它不发布相同的数据数百次。它在第一次加载时很好,但在单击一行后会添加太多数据 这是代码 <table i

我试图构建一个排序函数,根据我单击的行对表进行排序。我遇到的问题是,当我单击该行时,它返回的数据太多,相同的数据只重复了几百次。我认为这是我用来提取数据的asp:Repeater的一个问题,但是我想不出解决这个问题的方法。如果你对如何解决这个问题有任何想法,我将不胜感激。如果你有一个更好的解决方案,让我知道,我可以重新开始

排序本身还不起作用,但我可以稍后再做。我只需要知道如何使它不发布相同的数据数百次。它在第一次加载时很好,但在单击一行后会添加太多数据

这是代码

    <table id="SortedTable" class="table table-hover table-condensed">
    <thead>
    <tr>
        <th id="Ip_prefix">Ip_prefix</th>
        <th id="Peer_ip_src">Peer_ip_src</th>
        <th id="Comms">Comms</th>
        <th id="Event_type">Event_type</th>
        <th id="As_path">As_path</th>
        <th id="Local_pref">Local_pref</th>
        <th id="Created">Created</th>
    </tr>
    </thead>
    <asp:Repeater runat="server" ID="dumpRptr">
        <HeaderTemplate>
        </HeaderTemplate>
        <ItemTemplate>
            <tbody>
            <tr>
                <td><a href="..."><%#Eval("ip_prefix")%></a></td>
                <td><%#Eval("peer_ip_src")%></td>
                <td><%#Eval("comms")%></td>
                <td><%#Eval("event_type")%></td>
                <td><%#Eval("as_path")%></td>
                <td><%#Eval("local_pref")%></td>
                <td><%#Eval("Created")%></td>
            </tr>
            </tbody>
        </ItemTemplate>
        <FooterTemplate>
        </FooterTemplate>
    </asp:Repeater>
</table>

<script>
    function sortTable(f, n) {
        var rows = $('#SortedTable tbody  tr').get();

        rows.sort(function (a, b) {

            var A = $(a).children('td').eq(n).text().toUpperCase();
            var B = $(b).children('td').eq(n).text().toUpperCase();

            if (A < B) {
                return -1 * f;
            }
            if (A > B) {
                return 1 * f;
            }
            return 0;
        });

        $.each(rows, function (index, row) {
            $('#SortedTable').children('tbody').append(row);
        });
    }
    var f_Ip_prefix = 1;
    var f_Peer_ip_src = 1;
//....same all for allnames

    $("#Ip_prefix").click(function () {
        f_Ip_prefix *= -1;
        var n = $(this).prevAll().length;
        sortTable(f_Ip_prefix, n);
    });
    $("#Peer_ip_src").click(function () {
        f_Peer_ip_src *= -1;
        var n = $(this).prevAll().length;
        sortTable(f_Peer_ip_src, n);
    });
//same for the rest
    </script>

Ip_前缀
对等ip地址
通信
事件类型
As_路径
本地优先
创建
函数可排序(f,n){
var rows=$('#SortedTable tbody tr').get();
行排序(函数(a,b){
var A=$(A).children('td').eq(n).text().toUpperCase();
var B=$(B).children('td').eq(n).text().toUpperCase();
if(AB){
返回1*f;
}
返回0;
});
$.each(行,函数(索引,行){
$('#SortedTable')。子项('tbody')。追加(行);
});
}
var f_Ip_前缀=1;
var f_Peer_ip_src=1;
//……所有名字都一样
$(“#Ip_前缀”)。单击(函数(){
f_Ip_前缀*=-1;
var n=$(this.prevAll().length;
可排序(f_Ip_前缀,n);
});
$(“#Peer_ip_src”)。单击(函数(){
f_Peer_ip_src*=-1;
var n=$(this.prevAll().length;
排序表(f_Peer_ip_src,n);
});
//其余的也一样

我对这一切都很陌生,所以如果你能解释一下它为什么会做我不想做的事情背后的逻辑,我将不胜感激。答案当然更好。

当单击表行时,SQL代码被更改为正确排序。现在一切都可以正确排序了