网上关于Repeater折叠一般都是直接绑定上去,然后设置样式隐藏显示,可是这样是不太合理的,应该是客户需要的时候,你才去加载出来.所以,自己研究了一段时间,总结出下面的实现方案
首先是控件部分
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound"> <HeaderTemplate> <tr class="category"> <td> <div class="sortable">装车单编码</div> </td> <td> <div class="sortable">装车部门</div> </td> <td> <div class="sortable">装车员</div> </td> <td> <div class="sortable">日期</div> </td> <td> <div class="sortable">物流公司</div> </td> <td> <div class="sortable">配送状态</div> </td> <td width="10%">操作</td> </tr> </HeaderTemplate> <ItemTemplate> <tr class='<%#(Container.ItemIndex+1)%2==0?"trbg2":"trbg1"%>' onmouseover="this.className='trbgov'" onmouseout="this.className='<%#(Container.ItemIndex+1)%2==0?"trbg2":"trbg1"%>'"> <td align='left'><%# Eval("FCode") %></td> <td align='left'><%# Eval("FDepartmentName") %></td> <td align='left'><%# Eval("FApplicationName") %></td> <td align='left'><%# Eval("FDate","{0:yyyy-MM-dd}") %></td> <td align='left'><%# Eval("FExpressName") %></td> <td> <%#(int)Eval("FSendState") ==1 ? "配送中" : (int)Eval("FSendState") == 2 ? "已结单" : "未配送"%></td> <td><a href='#' onclick='showsonlst(this,<%#Eval("PID")%>);'>查看详细</a>   <font runat="server" id="edit"> <a id="" href='../Stock/CarOrdeFollowingInfo_Edit.aspx?id=<%#Eval("PID")%>'>编辑物流信息</a></font> </tr> </ItemTemplate> </asp:Repeater>