如何在 asp.net 中动态生成无序列表



我想生成一个无序列表,其中包含用于在我的数据库中显示图像的标签,我看了一下项目符号列表,但它不适用于图像。我如何从数据库中的结果动态生成它,例如,如果我在数据库中有 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)

对于您要实现的目标,最好和最简单的方法是使用 <asp:ListView> 控件。

这里有一个关于如何使用它的很好的教程,并且与您正在做的事情非常相似 http://weblogs.asp.net/scottgu/archive/2007/08/10/the-asp-listview-control-part-1-building-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();

我想你的数据源是一个数据集 ds,它有一个 DataTable 和一个字段图片路径,那么你可以直接在 aspx 中编写迭代

<ul id="">
    <% foreach (DataRow dr in ds.Tables[0].Rows) { %>
        <li><img src="<% dr["picpath"].ToString() %>" alt="" title=""/></li>
    <% } %>
</ul>

要做到这一点,请在服务器端查看以下链接中的接受答案请参阅以下链接中接受的答案 使用 asp.net 呈现无序列表