9

データベースに画像を表示するためのタグを含む順序付けられていないリストを生成したいのですが、箇条書きを見てみましたが、画像では機能しません。データベースの結果から動的に生成するにはどうすればよいですか。たとえば、データベースに6つの画像がある場合、生成するリストは次のようになります。

<ul id="">

    <li><img src="Resources/img14.jpg" alt="" title=""/></li>

    <li><img src="Resources/img15.jpg" alt="" title=""/></li>

    <li><img src="Resources/img17.jpg" alt="" title=""/></li>

    <li><img src="Resources/img2.jpg" alt="" title=""/></li>

    <li><img src="Resources/img5.jpg" alt="" title=""/></li>

    <li><img src="Resources/img3.jpg" alt="" title=""/></li>

</ul>

テーブル構造

User Name   nvarchar(50)    
Pic Path    nvarchar(MAX)
4

2 に答える 2

32

あなたが達成しようとしていることについては、<asp:ListView>コントロールを使用するのが最も簡単です。

ここに使用方法に関する優れたチュートリアルがあり、あなたがやっていることとかなり似ています http://weblogs.asp.net/scottgu/archive/2007/08/10/the-asp-listview-control-part -1-build-a-product-listing-page-with-clean-css-ui.aspx

基本的に、次の<asp:ListView>ようなコントロールを作成する必要があります。

<asp:ListView ID="ListView1" runat="server">
    <LayoutTemplate>
        <ul>
            <asp:PlaceHolder ID="itemPlaceholder" runat="server" />    
        </ul>                
    </LayoutTemplate>
    <ItemTemplate>
        <li>
             <img src='<%#Eval("PicPath")%>' alt='<%#Eval("UserName")%>' />
        </li>
    </ItemTemplate>
    <EmptyDataTemplate>
        <p>Nothing here.</p>
    </EmptyDataTemplate>
</asp:ListView>

次に、データをそれにバインドします。

this.ListView1.DataSource = YourDataSource;
this.ListView1.DataBind();
于 2012-05-14T14:07:42.110 に答える
3

あなたのデータソースは、1 つの DataTable とフィールド picpath を持つ DataSet ds であると仮定すると、反復を aspx に直接書き込むことができます。

<ul id="">
    <% foreach (DataRow dr in ds.Tables[0].Rows) { %>

        <li><img src="<% dr[\"picpath\"].ToString() %>" alt="" title=""/></li>

    <% } %>
</ul>

サーバー側で行うには、以下のリンクで受け入れられた回答を参照してください。次のリンクで受け入れられた回答を参照してください

于 2012-05-14T07:17:31.400 に答える