0

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

这是我所拥有的:

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

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

4

2 回答 2

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();
    }
}
于 2013-04-09T18:00:52.147 回答
1

用这个:

if(list is DropDownList)
{
DropDownList DDL = list as DropDownList;
DDL.Items.Clear();
}
于 2013-04-09T18:01:18.020 回答