2010-11-14 76 views
2

我在這裏遇到了問題,因爲div沒有按照我喜歡的方式放置。ASP Listview,ItemPlaceHolder問題

這是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「主」包含一切,沒有「子「divs。

如果我將itemPlaceholder添加到更深的一層,同樣的事情會發生,現在有1個「sub」div,並且所有內容都被壓入。我該如何解決這個問題?

回答

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> 

+0

@WebDevHobo你明白爲什麼工作? – jcolebrand 2010-11-14 19:47:42