2009-02-02 2 views
1

У меня есть форма, имеющая несколько аналогичных элементов управления, и родительский элемент содержит свойства, но у ребенка на самом деле есть элементы управления html. Как я мог настроить свои получатели/сеттеры, используя «дочерние» элементы управления в родительском классе? (WebForms - FYI)Как получить значение элемента управления от дочернего элемента в свойствах родителя в .NET?

Я нашел ниже с помощью поиска, и то, что я ищу является обратным

Getting value of a property in Parent User control from a Child user control

Edit:

я попытался это рано , но вместо этого ему было «весело» объяснить эту сумасшедшую ситуацию. Ниже то, что работает @ 100%

Get 
    Return DirectCast(Page.FindControl("lblCASE_NUMBER"), HtmlContainerControl).InnerHtml 
End Get 

ответ

0

Follwing на комментариях:

Итак, если я правильно понял, вы хотите иметь элементы управления на UserControls, но код на родителя (потому что вы не хотите, чтобы дублировать код).

У вас есть 2 способа сделать это:

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

2 - Создайте абстрактный класс, чтобы поместить код, который вы не хотите дублировать, и сделать все ваши дочерние наследуемые от него. вам нужно будет создать общие объекты в этом классе как «защищенное абстрактное ObjectName», а в ваших дочерних установках их установите как «protected override ObjectName». Этот параметр даст наименьший код для записи, но он «заставляет» вас понимать наследование.

1

Если я вас правильно понял вас есть один UserControl (ребенок) внутри другого UserControl (родитель), и вам необходимы получить доступ к дочерним свойствам внутри родителя.

Если это правильно, все, что вам нужно сделать, это либо создать свойства или методы в ребёнке, как и в любом другом классе. Чем просто использовать их у родителя.

+0

Понял, я пытался уменьшить дублирование, если это возможно ... возможно ли получить только несколько элементов управления от родителя, и все же у него есть дочерний рендер, который он добавляет html? –

+0

Не могли бы вы быть более откровенными? Я не понимаю, что вам нужно ... – Sergio

+0

Уверен - я делаю ajax, чтобы получить html, сгенерированный с сервера. Все формы, которые я получаю, имеют те же 4 элемента управления html, чтобы сохранить все DRY, я реализовал подмножество интерфейса представления в родительском. Затем родитель выполняет всю «работу» для каждого ребенка, поскольку это то же самое кодирование с ошибкой. –

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