呈现的数据 <table> 或者 <span> 标签,我不想要。

我已经设置了 RepeatLayout="Flow" 但这仍然给我跨越。我已经设置了 RepeaterDirection="Horizontal" 但这仍然给我桌子。

如果没有所有跨度表,我该如何获得简单的数据师?

<asp:DataList ID="MyDataList" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
   <ItemTemplate>
     ....
   </ItemTemplate>
</asp:Datalist>

提前致谢!

有帮助吗?

解决方案

你需要它是一个吗 DataList 完全控制?您可以通过使用A完全控制渲染的HTML Repeater 甚至只是循环浏览您的对象并手动呈现输出。

其他提示

有时您无法使用Repeater,因为Datalist提供了其他可能性(例如,通过Update和DELETE命令更新数据库,直接与ASP:DataSource一起使用)。

因此,如果您仍然需要使用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个跨度标签。要删除它们,您可以在页面上添加jQuery脚本。

<script type="text/javascript">
$(document).ready(function () {
    $('.item').unwrap(); $('.item').unwrap();
});
</script>

就我而言,我想制作我控制的无序列表。但是,作为Abvius,您可以通过更改数据师中的HTML并在JQuery(.Item)中定位正确的项目来做到这一点。

希望这有助于其他需要数据师功能并且无法使用中继器进行的人。

我认为您可能会发现使用 中继器 这将使您可以设置自己的标记。

基础上,创建一个ASP中继器,以与数据师几乎相同的方式将数据绑定到它,然后在“ ItemTemplate”标签中构建标记。 (警告这是来自内存 - 我在巡回笔记本电脑上,所以不要有视觉工作室检查语法。)

<asp:Repeater runat="server" id="MyRepeater">
    <HeaderTemplate><h1>My Data Title</h1></HeaderTemplate>
    <ItemTemplate>
        <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>

您只会得到放入模板中的标记,别无其他。如果您不需要,则可以跳过标题和页脚。而且,如果您根本不需要标记,则只需在模板中没有标签,数据就会以纯文本形式出现。

我遇到了这个错误,因为我正在使用 <Table> 在标题和 </table> 在页脚模板中,我将其删除,然后在每个模板上使用了整个桌子,并且不再获得不需要的标签。

由于这是Google的最佳结果之一,因此可以执行以下操作:

如果需要DatList控件,则需要设置属性重复layout =“ Flow”

在这里发现了Anwser: http://forums.asp.net/t/1388759.aspx?datalist+without +table+

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top