C# 如何使用<;td>;类在ListView中?

C# 如何使用<;td>;类在ListView中?,c#,javascript,jquery,asp.net,C#,Javascript,Jquery,Asp.net,我有一个列表视图。在里面,我使用作为项目模板。我想使用类名对项目进行排序 我该怎么做?这应该适用于点击按钮 函数sortUnorderedList(ul,sortDescending){ 如果(ul的类型==“字符串”) ul=document.getElementById(ul); var lis=ul.getElementsByTagName(“li”); var VAL=[]; 对于(变量i=0,l=lis.length;i

我有一个
列表视图
。在里面,我使用
作为项目模板。我想使用
类名对项目进行排序

我该怎么做?这应该适用于点击按钮


  • 函数sortUnorderedList(ul,sortDescending){
    如果(ul的类型==“字符串”)
    ul=document.getElementById(ul);
    var lis=ul.getElementsByTagName(“li”);
    var VAL=[];
    对于(变量i=0,l=lis.length;i
    我会使用DataGrid或DataGridView。它已经内置了排序机制。

    为什么不使用OnItemCommand:

    protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            if (e.CommandName.Equals("Code"))
            {
                // sorting code
            }
    
            if (e.CommandName.Equals("RegionName"))
            {
                // sorting code
            }
        }
    
    在ListView的表中保留LinkButton:

    <table id="tbl" style="width: 100%;">
                <tr class="mytr" style="width: 100%;">
                    <td class="border1" style="width: 50%;">
                        <asp:LinkButton ID="LinkButton1" runat="server"><%# Eval("code") %></asp:LinkButton>
                        </td>
                    <td class="border2" style="width: 50%;">
                    <asp:LinkButton ID="LinkButton2" runat="server"><%# Eval("regon_name") %></asp:LinkButton>
                    </td>
                </tr>
            </table>
    
    看看这个。它应该很容易用代码实现

    下面是函数:

    jQuery.fn.sortElements = (function(){
    
        var sort = [].sort;
    
        return function(comparator, getSortable) {
    
            getSortable = getSortable || function(){return this;};
    
            var placements = this.map(function(){
    
                var sortElement = getSortable.call(this),
                    parentNode = sortElement.parentNode,
    
                    // Since the element itself will change position, we have
                    // to have some way of storing its original position in
                    // the DOM. The easiest way is to have a 'flag' node:
                    nextSibling = parentNode.insertBefore(
                        document.createTextNode(''),
                        sortElement.nextSibling
                    );
    
                return function() {
    
                    if (parentNode === this) {
                        throw new Error(
                            "You can't sort elements if any one is a descendant of another."
                        );
                    }
    
                    // Insert before flag:
                    parentNode.insertBefore(this, nextSibling);
                    // Remove flag:
                    parentNode.removeChild(nextSibling);
    
                };
    
            });
    
            return sort.call(this, comparator).each(function(i){
                placements[i].call(getSortable.call(this));
            });
    
        };
    
    })();
    
    实现应该如下所示:

    $("#list3 li td").sortElements(function(a, b){
        return $(a).attr("class") > $(b).attr("class") ? 1 : -1;
    });
    

    你能提供生成的HTML吗。另外,您应该注意,在内联元素(如
    li
    )中使用块级元素(如
    table
    )是无效的。我已经发布了该代码……不,这是ASP.Net控件。请发布浏览器呈现的HTML。事实上,我从数据库中获取值,并在btn点击时对其进行排序,这里我使用2按钮,一个2排序,一个用于排序代码,另一个用于排序注册表名。。。
    $("#list3 li td").sortElements(function(a, b){
        return $(a).attr("class") > $(b).attr("class") ? 1 : -1;
    });