2013-06-06 12 views
0

Я пытаюсь проверить элемент управления, чтобы внести изменения, если ChildsControlsCreated изменен на true. Как мне это сделать? Я пробовал ...Как проверить, было ли изменено ChildControlsCreated?

if (tempControl.ChildControlsCreated == false) 
{ 
    //do something 
} 

не повезло. Любые другие идеи?

+0

Попробуйте вывести значение 'ChildControlsCreated'. Кроме того, используйте '!' Перед 'tempControl.ChildControlsCreated' вместо' == false'. –

+0

Что именно вы хотите сделать? – Saint

ответ

0

Если вы реализуете свой собственный контроль, или вы повторно управление из рамок, вы могли бы рассмотреть возможность переопределения метода CreateChildControls

В случае, когда вы пишете свой собственный контроль, вы бы просто:

protected override void CreateChildControls() { 

    // Add a LiteralControl to the current ControlCollection. 
    this.Controls.Add(new LiteralControl("<p>New Child Control!</p>")); 


    ChildControlsCreated = true; 
} 

В случае, когда вы повторно управление от кого-то другого, если он доступен для подмены, вы могли бы сделать что-то вроде:

public MyControl : SomeControl 
{ 

    protected override void CreateChildControls() { 

    base.CreateChildControls(); 


    ChildControlsCreated = true; 
    } 

} 

Обратите внимание, что в обоих случаях вы теперь контролируете настройку ChildControlsCreated. Поэтому вы можете расширить эту концепцию до добавления события в свою реализацию управления, которое будет запущено, когда вы установите значение, позволяя любому абоненту знать, что были созданы дочерние элементы управления.

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