<ul style=" margin-left:20px">     <asp:Repeater ID="rep_data" runat="server">     <ItemTemplate>   <li  ><p ><span><%# Eval("data").ToString()%>:</span></li>
 
  </ItemTemplate>
 
    </asp:Repeater>  </ul>
就是如果显示的是:
 
XXX
 
待定
 
xxxx
 
xxxx
 
能不能将“待定”放在最后一行。谢谢各位了!
ASP.NETrepeater排序

解决方案 »

  1.   

    有道理。如果不改变sql语句,还有办法吗
      

  2.   

    <asp:Repeater ID="rep_data" runat="server">     
    <ItemTemplate>   <li  ><p ><span><%# Eval("data").ToString()%>:</span></li>    </ItemTemplate>      
    </asp:Repeater>
    这说白了只是一个循环赋值,当你要求数据的排序顺序不能改变,前台是无法做到的。当然,排除一些傻瓜式的做法。如:
    <asp:Repeater ID="rep_data" runat="server">     
    <ItemTemplate>   
    <%if(# Eval("data").ToString()!="待定"){%>
    <li  ><p ><span><%# Eval("data").ToString()%>:</span></li>    </ItemTemplate>   
    <%}>   
    </asp:Repeater>
    <asp:Repeater ID="rep_data" runat="server">     
    <ItemTemplate>   
    <%if(# Eval("data").ToString()=="待定"){%>
    <li  ><p ><span><%# Eval("data").ToString()%>:</span></li>    </ItemTemplate>   
    <%}>   
    </asp:Repeater>
    这种方法我无法直视...强烈建议不能这样
      

  3.   

    sql写好直接显示吧,用js也可以不过页面会很奇怪~~
      

  4.   

    感谢楼上两位的回答给了我提醒,我用sql解决了。方法是 ....group by data  order by    case when data='待定' then 1
      

  5.   

    说错了,是这样..group by data  order by    case when data  ='待定' then 1 else 0 end asc
      

  6.   


    排序问题,SQL解决才是王道。要是用代码解决的话,有些时候是很容易拖慢网站速度的。