如何在遍历控件时设置Dropdownlist特定的属性
本文关键字:Dropdownlist 属性 设置 遍历 控件 | 更新日期: 2023-09-27 18:26:36
我正在循环浏览asp:Panel的Controls集合,我不知道如何设置特定于某些控件的Properties。。。
例如,面板可能包含一个DropDownList,我希望能够设置并获取它的SelectedValue。或者它可能包含一个TextBox,我想设置并获取Text属性。
我用这个代码遍历:
foreach (Control control in panel.Controls)
{
// ...
}
由于我只从中获得了一个基本控件,因此它似乎无法获取/设置这些属性中的任何属性,因为它们不是为基本控件定义的。
那么,该怎么办呢?
感谢
一种可能性是使用as
运算符:
foreach (Control control in Controls) {
TextBox txt = control as TextBox;
if (txt!=null) {
txt.Text = "bla";
...
}
ComboBox cbo = control as ComboBox;
if (cbo!=null) {
cbo.SelectedItem = ...
...
}
...
}
注意:如果有一种类型的多个控件,则可以使用Tag
属性来存储其他信息。虽然Tag
是对象类型,但这里也需要as
运算符。。。
您可以始终检查类型,然后将其强制转换为该类型。
foreach (Control control in Controls)
{
if (control.GetType().Equals(typeof(DropDownList)))
{
((DropDownList)control).Enabled = value;
}
}
您应该能够像这样使用is
运算符:
if(control is DropDownList)
{
// Cast control as DDL and do your work
}