假设我有无限的 div,包括 id="div1"
、id="div2"
、id="div3"
等。 ..
如何使用 for 循环将它们从代码中隐藏起来?像这样的东西:
for(i = 1; i <= DropDownList1.SelectedValue; i++)
{
string div = "div" + i;
div.Visible = false;
}
上面的代码不起作用,它只是让您了解我假装做什么。
最佳答案
将 runat="server"添加到您的 div。
我用过
以下方法查找我从http://blog.codinghorror.com/recursive-pagefindcontrol/得到的控件
for(i = 1; i <= DropDownList1.SelectedValue; i++)
{
var ctrl = FindControlRecursive(this.Page, string.Format("div{0}", i + 1))
if (ctrl != null)
{
ctrl .Visible = false;
}
}
查找控件的方法:
public static Control FindControlRecursive(Control root, string id)
{
if (root != null && !string.IsNullOrWhiteSpace(id))
{
if (root.ID == id)
{
return root;
}
foreach (Control c in root.Controls)
{
Control t = FindControlRecursive(c, id);
if (t != null)
{
return t;
}
}
}
return null;
}
关于html - Asp.net 从后面的代码动态隐藏带有 for 循环的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28477674/