如何启用位于禁用面板内的下拉列表之类的控件

how to enable a control like dropdownlist which is inside a panel that is disabled

我有一个禁用的面板。因此面板内的所有控件都被禁用。在回发时,我只需要启用一个位于禁用面板内的控件。请让我知道我们如何才能做到这一点。下面是代码

 <asp:Panel ID="testPanel" runat="server">
 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:DropDownList ID="dropdownlist" runat="server"></asp:DropDownList>
</asp:Panel>

代码隐藏aspx.cs

testpanel.Enabled = false;
dropdownlist.Enavbled=true;

此处未启用下拉列表。 请让我知道启用它的方法。遍历面板是一种性能,因为我在其中有很多控件。所以我需要一种更好的方法来在禁用面板中启用 DropDownList。

您不能在因 that property is inherited (in the same manner as Visible) 而被禁用的容器控件中启用单个控件。所以唯一的方法是启用 Panel 和此控件,但禁用面板中的所有其他控件。

dropdownlist.Enabled = true;
testpanel.Enabled = dropdownlist.Enabled;
// disable all other controls in the panel
TextBox1.Enabled = false;

MSDN:

This property propagates down the control hierarchy. If you disable a container control, the child controls within that container are also disabled. For more information, see the IsEnabled property.