Asp.net 从服务器端创建HTML表

Asp.net 从服务器端创建HTML表,asp.net,tags,html-table,Asp.net,Tags,Html Table,我已将标记存储在SQL Server数据库中, 表名称:标签 纵队 塔吉德 标记名 标记URL 现在我想在aspx页面中创建一个列表,如下所示,它是从数据库创建的。我已经完成了将数据库中的所有标记和tagURL保存在数据集中的工作。但我不知道如何从数据库中创建动态HTML列表或asp.net列表 我必须创建如下列表: <ul> <li class="tag1"><a href="#">Lorem ipsum</a><

我已将标记存储在SQL Server数据库中, 表名称:标签 纵队

  • 塔吉德
  • 标记名
  • 标记URL
现在我想在aspx页面中创建一个列表,如下所示,它是从数据库创建的。我已经完成了将数据库中的所有标记和tagURL保存在数据集中的工作。但我不知道如何从数据库中创建动态HTML列表或asp.net列表

我必须创建如下列表:

<ul>
            <li class="tag1"><a href="#">Lorem ipsum</a></li> 
            <li class="tag2"><a href="#">Dolor sit amet</a></li>

            <li class="tag3"><a href="#">Consectetur adipiscing elit</a></li>
            <li class="tag2"><a href="#">Proin </a></li>
            <li class="tag4"><a href="#">Sagittis libero</a></li>
            <li class="tag1"><a href="#">Aliquet augue</a></li>
            <li class="tag1"><a href="#">Quisque dui lacus</a></li>
            <li class="tag5"><a href="#">Consequat</a></li>

            <li class="tag2"><a href="#">Dictum non</a></li>
            <li class="tag1"><a href="#">Venenatis et tortor</a></li>
            <li class="tag3"><a href="#">Suspendisse mauris</a></li>
            <li class="tag4"><a href="#">In accumsan </a></li>
            <li class="tag1"><a href="#">Egestas neque</a></li>
            <li class="tag5"><a href="#">Mauris eget felis</a></li>

            <li class="tag1"><a href="#">Suspendisse</a></li>
            <li class="tag2"><a href="#">condimentum eleifend nulla</a></li>
        </ul>
在哪里

>class=“tag”

您可能需要使用类似asp.net中继器的东西。下面是msdn库中的一个示例,我编写了一个更合适的示例

这是我对你们要求的理解。我不确定是否可以更好地处理随机数生成

 <asp:Repeater ID="Repeater1" runat="server">
    <HeaderTemplate>
        <ul>
    </HeaderTemplate>
    <ItemTemplate>
        <li class="<%# String.format("tag{0}", GetRandom())%>"><a href="<%# Eval("TagUrl") %>"><%# Eval("TagName")%></a></li>
    </ItemTemplate>
    <FooterTemplate>
        </ul>
    </FooterTemplate>
</asp:Repeater>

您可能需要使用asp.net转发器之类的东西。下面是msdn库中的一个示例,我编写了一个更合适的示例

这是我对你们要求的理解。我不确定是否可以更好地处理随机数生成

 <asp:Repeater ID="Repeater1" runat="server">
    <HeaderTemplate>
        <ul>
    </HeaderTemplate>
    <ItemTemplate>
        <li class="<%# String.format("tag{0}", GetRandom())%>"><a href="<%# Eval("TagUrl") %>"><%# Eval("TagName")%></a></li>
    </ItemTemplate>
    <FooterTemplate>
        </ul>
    </FooterTemplate>
</asp:Repeater>

我也会使用中继器。但是,还有两种选择:

  • 为此目的创建自定义web控件
  • 使用文本控件并将html分配给其文本属性。不是很优雅,但是如果你只是想要一个快速而肮脏的解决方案,它可能会起作用。记住要将literals模式属性设置为“Passthrough”,以便允许html标记

  • 我也会使用中继器。但是,还有两种选择:

  • 为此目的创建自定义web控件
  • 使用文本控件并将html分配给其文本属性。不是很优雅,但是如果你只是想要一个快速而肮脏的解决方案,它可能会起作用。记住要将literals模式属性设置为“Passthrough”,以便允许html标记

  • 谢谢你的回答,但我收到的信息“字符串”不包含“格式”的定义。。。在
  • @Chris这是一个奇怪的问题。您正在使用ASP.NET WebForms吗?C#/VB?您也可以尝试这样做,而不是
  • @Chris这是一个奇怪的问题。您正在使用ASP.NET WebForms吗?C#/VB?您也可以尝试这样做
  • Private _random As Random Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then _random = New Random Dim dt As New DataTable dt.Columns.Add("TagName") dt.Columns.Add("TagUrl") dt.Rows.Add("Test1", "TestUrl1") dt.Rows.Add("Test2", "TestUrl2") dt.Rows.Add("Test3", "TestUrl3") dt.Rows.Add("Test4", "TestUrl4") dt.Rows.Add("Test5", "TestUrl5") Repeater1.DataSource = dt Repeater1.DataBind() End If End Sub Protected Function GetRandom() As Integer Return _random.Next(1, 5) End Function