ASP Listview,ItemPlaceHolder问题

时间:2010-11-14 01:40:23

标签: asp.net listview

我在这里遇到一个问题,一个div没有按照我想要的方式放置。

这是我正在使用的ASP代码:

<asp:ListView ID="categoriesListView" runat="server">

    <LayoutTemplate>
        <div class="main" runat="server"> 
            <div ID="itemPlaceholder" class="sub" runat="server">

            </div>
        </div> 
    </LayoutTemplate>

    <EmptyDataTemplate>
        <div class="main" runat="server"> 
            <div class="sub" ID="itemPlaceholder" runat="server">
                No data was returned.
            </div>
        </div> 
    </EmptyDataTemplate>

    <ItemTemplate>
        <asp:Image AlternateText='<%# Eval("CategoryName") %>' ID="Image1" runat="server" ImageUrl='<%# Eval("CategoryImgUrl", "~/Images/{0}") %>' />
        <asp:Label ID="ProductNameLabel" runat="server" Text='<%# Eval("CategoryName") %>' />
    </ItemTemplate>

</asp:ListView>

我期待这样的结果:

<div class="main">
      <div class="sub">
            ...
      </div>
      <div class="sub">
            ...
      </div>
      <div class="sub">
            ...
      </div>
      ...
</div>

结果是一个包含所有内容的大“div”,没有“sub”div。

如果我将itemPlaceholder添加到更深层次,那么同样的事情会发生,现在有1个“sub”div并且所有内容都被推到那里。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

将其更改为:

<LayoutTemplate>
    <div class="main" runat="server"> 
        <div ID="itemPlaceholder" runat="server">

        </div>
    </div> 
</LayoutTemplate>

<EmptyDataTemplate>
    <div class="main" runat="server"> 
        <div class="sub" ID="itemPlaceholder" runat="server">
            No data was returned.
        </div>
    </div> 
</EmptyDataTemplate>

<ItemTemplate>
  <div class="sub" >
    <asp:Image AlternateText='<%# Eval("CategoryName") %>' ID="Image1" runat="server" ImageUrl='<%# Eval("CategoryImgUrl", "~/Images/{0}") %>' />
    <asp:Label ID="ProductNameLabel" runat="server" Text='<%# Eval("CategoryName") %>' />
  </div>
</ItemTemplate>