通过循环控件清除掉DropDownList

时间:2013-04-09 17:58:56

标签: c# asp.net

我正在尝试遍历面板中的每个控件,如果它是DropDownList,则清除所有内容。

这就是我所拥有的:

private void ClearOut()
{
    foreach (Control list in MainPanel.Controls)
    {
        if (list.ToString().Equals("System.Web.UI.WebControls.DropDownList"))
        {
            //Clear it out here
        }
    }
}

这段代码确实可以找到每个DropDownList,但是一旦我到达那里,我就无法弄清楚如何清除它们。我不能使用DropDownList的任何属性,如selectedindex或items.clear()。

2 个答案:

答案 0 :(得分:2)

using System.Linq;
using System.Web.UI.WebControls;

foreach (DropDownList list in MainPanel.Controls.OfType<DropDownList>())
{
    list.Items.Clear();
}

或相同但手动:

foreach (Control c in MainPanel.Controls)
{
    DropDownList list = c as DropDownList;
    if (list != null)
    {
        list.Items.Clear();
    }
}

答案 1 :(得分:1)

使用此:

if(list is DropDownList)
{
DropDownList DDL = list as DropDownList;
DDL.Items.Clear();
}
相关问题