DataList は追加の可能性を提供するため (UPDATE および DELETE コマンドを介してデータベースを更新する、asp:DataSource を直接操作するなど)、Repeater を使用できない場合があります。
したがって、まだ DataList を使用する必要があるが、html を避けたい場合は、私が行ったようにその上に少し jQuery を実行できます。
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>
これにより、次のような HTML が生成されます。
<span id="SomeId" style="">
<span>
<li class="item ui-droppable" id="31349">
Whatever else you need here.
</li>
</span>
</span>
明らかに、必要のない 2 つの span タグがあります。それらを削除するには、ページに jQuery スクリプトを追加します。
<script type="text/javascript">
$(document).ready(function () {
$('.item').unwrap(); $('.item').unwrap();
});
</script>
私の場合、私が制御する順序付けられていないリストを作成したかったのです。ただし、当然のことながら、DataList で HTML を変更し、jQuery (.item) で適切なアイテムをターゲットにすることで、他の方法でそれを行うことができます。
これが、DataList 機能が必要で、Repeater では実行できない他の誰かに役立つことを願っています。