Có thể bạn sẽ sử dụng control Repeater để thay thế như dưới
<asp:Repeater runat="server" id="MyRepeater">
<HeaderTemplate><h1>My Data Title</h1></HeaderTemplate>
<TtemTemplate>
<p>Any Markup you want. This bit gets repeated</p>
<%#Container.DataItem("DataKeyOrColumnName")%>
</ItemTemplate>
<FooterTemplate><p>The footter (and header) only appear once.</p><p>you could use them to start and end a list or table</p></FooterTemplate>
</asp:Repeater>
Tuy nhiên Repeater không cung cấp khả năng câu lệnh Update và Detele như DataList.
Vậy cách tiếp theo mà Tôi muốn hướng tới là sử dụng Jquery để thay thể(Unwrap)
Code aspx:
<ul class="list">
<asp:DataList ID="Repeater1" runat="server" DataSourceID="SqlDataSource1" DataKeyField="photo_id" RepeatLayout="Flow" RepeatDirection="Horizontal">
<ItemTemplate>
<li class="item" id='<%# Eval("photo_id") %>'>
Whatever else you need here.
</li>
</ItemTemplate>
</asp:DataList>
</ul>
Tự động nó sẽ sinh ra đoạn HTML sau:
<span id="SomeId" style="">
<span>
<li class="item ui-droppable" id="31349">
Whatever else you need here.
</li>
</span>
</span>
Rõ ràng là có 2 thẻ span bạn không cần. Để loại bỏ chúng, bạn có thể thêm jQuery trên trang.
<script type="text/javascript">
$(document).ready(function () {
$('.item').unwrap(); $('.item').unwrap();
});
</script>
Thật đơn giản để thay thế. Nếu không biết, có lẽ bạn sẽ mất khá nhiều thời gian để xử lý
Hi vọng bài viết này mang đến cho bạn thủ thuật mới khi code với aspx :)