简体   繁体   English

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

[英]How to generate unordered list dynamically in asp.net?

I want to generate a unordered list which contains tag for showing images in my database, I take a look at bulleted list, but it is not working with image. 我想生成一个无序列表,其中包含用于在我的数据库中显示图像的标记,我看一下项目符号列表,但它不适用于图像。 How can i dynamically generate it from the results in a database, for eg, if i have 6 images in data base then i want the list which generates must look like this. 如何从数据库中的结果动态生成它,例如,如果我在数据库中有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>

Table Structure 表结构

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

For what you are trying to achieve, it would be best and easiest just to use a <asp:ListView> control. 对于您要实现的目标,使用<asp:ListView>控件最好也是最简单的。

There is a good tutorial here on how to use it, and pretty much similar to what you are doing 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 这里有一个关于如何使用它的好教程,与你正在做的很相似http://weblogs.asp.net/scottgu/archive/2007/08/10/the-asp-listview-control-part -1建设-A-产品上市页,用洁净的CSS-ui.aspx

It would basically involve you creating a <asp:ListView> control like; 它基本上会涉及到你创建一个<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>

Then binding your data to it. 然后将数据绑定到它。

this.ListView1.DataSource = YourDataSource;
this.ListView1.DataBind();

I suppose your datasource is a DataSet ds that has one DataTable and a field picpath, then you can write the iteration directly in aspx 我假设您的数据源是一个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>

To do it server side see the accepted answer in below link see the accepted answer in the following link Rendering an unordered list using asp.net 要做到服务器端看到下面链接中接受的答案,请参阅以下链接中的接受答案使用asp.net渲染无序列表

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM