使用ASP.NET </li>循环<li>

时间:2011-06-05 16:03:06

标签: .net asp.net

我想更改<li>集合投掷服务器端的可见性。

我的HTML代码如下所示:

<ul>
    <li runat=server id="l1"></li>
    <li runat=server id="l2"></li> 
    <li runat=server id="l3"></li> 
    <li runat=server id="l4"></li> 
    ...
</ul>

现在正如我所说,我想循环收集并使用他们的ID

更改某些li的可见性

类似

for (i=0;...) {
    l+I.visible=false
}

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:6)

未经测试,但这可行:

首先更改,您的ul将在服务器上运行。

<ul runat="server" id="myList">

然后迭代它

foreach (Control li in myList.Controls)
{
      if(li is HtmlGenericControl)
         li.Visible = false;
}          

示例代码:

HTML:

  <ul runat="server" id="myList">
    <li runat=server id="l1">1</li>
    <li runat=server id="l2">2</li> 
    <li runat=server id="l3">3</li> 
    <li runat=server id="l4">4</li>        
  </ul>


  <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />

按钮单击处理程序:

protected void Button1_Click(object sender, EventArgs e)
{
    foreach (Control li in myList.Controls)
    {
        if (li is HtmlGenericControl)
            li.Visible = false;

     } 
 }

编辑2 - VB.NET中的代码

For Each li As Control In myList.Controls
    If TypeOf li Is HtmlGenericControl Then
        li.Visible = False

    End If
Next

答案 1 :(得分:0)

试试这个:

     <ul>            
        <% for (int i = 0; i <= 10; i++){%>
         <li runat=server id="l<%Response.Write(i); %>"><%=i%></li> 
        <% } %>
     </ul>

就在html页面内!