2015-02-02 3 views
0

У меня есть панель, которая отключена. И, следовательно, все элементы управления внутри панели отключены. В Postback мне нужно включить только один элемент управления, который находится внутри панели с отключением. Пожалуйста, дайте мне знать, как мы можем достичь этого. Ниже приведен кодкак включить элемент управления, например, выпадающий список, который находится внутри панели, которая отключена.

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

Codebehind aspx.cs

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

Здесь DropDownList не получает Enabled. Пожалуйста, дайте мне знать способ его включения. Итерация через панель - это производительность, поскольку в ней много элементов управления. Поэтому мне нужен лучший способ включить DropDownList внутри панели «Отключено».

+0

Вы не можете показать дочерний элемент, если вы не показываете родителя. –

ответ

1

Вы не можете включить один элемент управления в элементе управления контейнера, который отключен, поскольку that property наследуется (таким же образом, как и Visible). Таким образом, единственный способ - включить Panel и этот элемент управления, но отключить все остальные элементы управления на панели.

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

MSDN:

Это свойство распространяется вниз по иерархии управления. Если вы отключите управление контейнером , дочерние элементы управления в этом контейнере также отключены . Для получения дополнительной информации см. Свойство IsEnabled.

+0

Спасибо. Изменит способ, который вы предложили –

Смежные вопросы