[ASP.net WebForm] ListView的套版樣式 (筆記)

[ASP.net WebForm] ListView的套版樣式 (筆記)

資料呈現用ul、li拆版真是讓工程師省了不少麻煩,因為VS2010的ListView並排顯示(DataList)只有table的樣版,沒有ul的樣版,所以做個線上筆記

以後拿ListView套版的話,就直接從這邊Copy-Paste

 

Table 拆版

  <%--以每四個項目為一組--%>
    <asp:ListView ID="ListView1" runat="server" DataKeyNames="CategoryID" 
        DataSourceID="sds_Categories" GroupItemCount="4">
   
       
        <EmptyDataTemplate>
            
                        無資料 
              
        </EmptyDataTemplate>
  
        <GroupTemplate>
            <tr ID="itemPlaceholderContainer" runat="server">
                <td ID="itemPlaceholder" runat="server">
                </td>
            </tr>
        </GroupTemplate>
      
        <ItemTemplate>
           <td>
                CategoryID:
                <asp:Label ID="CategoryIDLabel" runat="server" 
                    Text='<%# Eval("CategoryID") %>' />
                <br />CategoryName:
                <asp:Label ID="CategoryNameLabel" runat="server" 
                    Text='<%# Eval("CategoryName") %>' />
                <br />Description:
                <asp:Label ID="DescriptionLabel" runat="server" 
                    Text='<%# Eval("Description") %>' />
                <br />
           </td>
        </ItemTemplate>
        <LayoutTemplate>
            
                        <table ID="groupPlaceholderContainer" runat="server" border="1" >
                            <tr ID="groupPlaceholder" runat="server">
                            </tr>
                        </table>
               
        </LayoutTemplate>
        
    </asp:ListView>

ul、li拆版

 <%--每3個項目為一組--%>
    <asp:ListView ID="lv_Categories" runat="server" DataKeyNames="CategoryID" DataSourceID="sds_Categories"
        GroupItemCount="3">
        <EmptyDataTemplate>
            無資料
        </EmptyDataTemplate>
        <GroupTemplate>
        <%--每3個項目為一組就結束li--%>
        <li> 
       <%--(必填)項目的預留位置id="itemPlaceHolder" runat="server"--%>
            <li id="itemPlaceHolder" runat="server" />
          </li>
        </GroupTemplate>
        <ItemTemplate>
            <%--每個項目的資料,在這邊若加上li tag的話,會變成每筆項目都有li--%>
             
                <b><%# Eval("CategoryName") %></b>
            
        </ItemTemplate>
        <LayoutTemplate>
        <%--ul為全部資料的Container--%>
            <ul id="groupPlaceholderContainer" runat="server">
                <li id="groupPlaceholder" runat="server"></li>
            </ul>
        </LayoutTemplate>
    </asp:ListView>

ul、li的執行結果:

image