我想生成一个无序列表,其中包含用于在我的数据库中显示图像的标记,我看一下项目符号列表,但它不适用于图像。如何从数据库中的结果动态生成它,例如,如果我在数据库中有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)
答案 0 :(得分:30)
对于您要实现的目标,使用<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();
答案 1 :(得分:3)
我认为你的数据源是一个DataSet ds,它有一个DataTable和一个字段picpath,然后你可以直接在aspx中编写迭代
<ul id="">
<% foreach (DataRow dr in ds.Tables[0].Rows) { %>
<li><img src="<% dr[\"picpath\"].ToString() %>" alt="" title=""/></li>
<% } %>
</ul>
要做服务器端,请在下面的链接中查看接受的答案 请参阅以下链接Rendering an unordered list using asp.net
中的已接受答案