0

我想禁用此 Listview 项目中的所有控件。这个 MSDN页面说 Enabled 被定义为 Control 的类属性。

foreach (Control ctrl in eItem.Controls)
{
    ctrl.Enabled = false;
}

我收到错误消息“控件不包含已启用的定义...”。只有当我施放每个控件时,错误才会消失。

foreach (Control ctrl in eItem.Controls)
{
    ((TextBox)ctrl).Enabled = false;
}

我有 DropDownList、TextBox、Button、CheckBox、.. 有没有最快和通用的方法呢?

4

1 回答 1

2

您提供的链接误导了您,因为它谈论的是Windows 窗体控件,而不是Web 窗体控件。在 Web Froms 中,属性Enabled是在类中定义WebControl的,它是 的子类Control和超类TextBoxDropDownList。所以你可以这样做:

foreach (Control ctrl in eItem.Controls)
{
    WebControl webCtrl = ctrl as WebControl;
    if (webCtrl != null)
    {
        webCtrl.Enabled = false;
    }
}
于 2012-09-12T16:27:53.277 回答