如何动态循环遍历asp.net控件?

时间:2012-08-08 14:16:03

标签: c# placeholder

我在aspx页面中创建了4个占位符。我将它们命名为placeHolder1,placeHolder2,placeHolder3,placeHolder4。如何在循环中动态地向这些占位符添加内容?我知道我可以复制四个不同的时间,但我想保存一些代码并在循环中执行。实际上是否可以这样做?

2 个答案:

答案 0 :(得分:3)

您可以遍历页面上的所有控件,并找到您感兴趣的类型,如下所示:

foreach (Control ctrl in this.Controls)
{
    if (ctrl is ContentPlaceHolder)
    {
        ContentPlaceHolder cph = (ContentPlaceHolder)ctrl;

        if (cph.ID == "placeHolder1")
        {
            // do whatever
        }
    }
}

我还没有测试过这段代码,但它可以让您大致了解如何迭代占位符。

答案 1 :(得分:1)

这样的事情应该有效:

for (int i = 1; i <= 4; i++)
{
 PlaceHolder myControl = FindControl("placeHolder" + i) as PlaceHolder;
 //Do whatever with control;
}