我想更改<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
}
任何帮助都将不胜感激。
答案 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页面内!