使用数据库值填充<ul> </ul>

时间:2011-10-20 00:21:49

标签: asp.net html webforms

如何使用SQL Server 2008 R2 SP1中的值填充无序列表?的xD 我有这个,使用asp:repeater:

<ul style="list-style:none">
    <asp:Repeater ID="deptList" runat="server">
        <ItemTemplate>
            <li>
                <asp:HyperLink runat="server" 
                Text='<%# Eval("Name") %>'
                NavigateUrl='<%# Link.ToDepartment(Eval("DepartmentID").ToString()) %>'
                />
            </li>
        </ItemTemplate>
    </asp:Repeater>
</ul>

和输出HTML:

<ul style="list-style:none">

            <li>
                <a href="http://...">value1</a>
            </li>

            <li>
                <a href="http://...">value2</a>
            </li>

            <li>
                <a href="http://...">value3</a>
            </li>

</ul>

有更好的方法吗?

2 个答案:

答案 0 :(得分:4)

您可以使用for循环来迭代数据源中的所有值。 样本:

<ul>
  <% foreach(var item in Collection) { %>
     <li><%=item.Property%></li>
  <% } %>
</ul>

此外,您还可以使用ASP.NET提供的其他数据控件,例如DataGrid。

并且,如果您坚持使用Repeater,我建议您将<ul> HeaderTemplate</ul>放入FooterTemplate,这可以防止空<ul></ul>

答案 1 :(得分:2)

在您的代码中,您需要为转发器设置数据源。

类似的东西:

deptList.DataSource = <your query result here>;
deptList.DataBind();