0

ここで、td タグをネストする必要があると読んだので、ListView の ItemTemplate プロパティ タグが次のようになっているのを見ると混乱します。

<ItemTemplate>    
                            <td id="Td2" runat="server">      
                                <table>        
                                    <tr>          
                                        <td>&nbsp;</td>          
                                        <td>
                                            <a href="ProductDetails.aspx?productID=<%#:Item.ProductID%>">
                                                <img src="/Catalog/Images/Thumbs/<%#:Item.ImagePath%>" 
                                                    width="100" height="75" /></a> 
                                        </td>
                                        <td>
                                            <a href="ProductDetails.aspx?productID=<%#:Item.ProductID%>">
                                                <span class="ProductName">
                                                    <%#:Item.ProductName%>
                                                </span>
                                            </a>            
                                            <br />
                                            <span class="ProductPrice">           
                                                <b>Price: </b><%#:String.Format("{0:c}", Item.UnitPrice)%>
                                            </span>
                                            <br />            
                                        </td>        
                                    </tr>      
                                </table>    
                            </td>  
                        </ItemTemplate>  

これは、ListView がいくつかのクラスから継承し、大量のインターフェイスを実装しているという事実と関係がありますか? それとも、私がよく知らない ItemTemplate の側面と関係がありますか? 私の情報源は間違っていますか、それとも「単なる ASP のもの」ですか?

4

2 に答える 2

1

これは、asp.net でコントロールを定義する方法です。asp.net ページがレンダリングされる (純粋な html に変換される) と、これらのtd要素はtr. ブラウザでページのソースを表示すると、出力を確認できます。

于 2013-07-16T13:40:02.333 に答える
1

あなたの LayoutTemplate がどのように見えるかはわかりませんが、これは実際には ListView 自体とは何の関係もありませんが、開発者が選択した HTML レイアウトとは関係ありません。td のベストは tr 内に属しますが、これらは単なるタグです。css を変更して、必要に応じて再定義することができます。ブラウザはそれを解釈して表示し、選択の余波に対処することができます =)。

上記のコードが理にかなっている可能性のある方法は次のとおりです。

<LayoutTemplate>
    <table border="0" cellpadding="1">
        <tr>
            <th>Product</th>
        </tr>
        <tr>
            <td id="itemPlaceholder" runat="server"></td>
        </tr>
    </table>
</LayoutTemplate>

これにより、製品の見出しを持つ単一の列の外部テーブルが作成され、そのテーブルの各行には、上記の内部テーブル (製品ごと) が含まれます。

于 2013-07-16T13:50:53.307 に答える