Я пытаюсь создать настраиваемый элемент управления asp.net, который действует как контейнер хостинга для любых других элементов управления, аналогично существующему элементу управления «Панель». По сути, мне нужно создать веб-элемент управления, который группирует кучу других элементов управления. Он будет состоять из заголовка и основной панели, как и обычное окно в настольном приложении. Заголовок будет содержать простой текст и код, управляемый JavaScript, который показывает / скрывает панель тела. На основной панели просто размещается любое количество других элементов управления.
+------------------------------------------------------+
| User Details Show/Hide |
+------------------------------------------------------+
| Name: [Eric ] |
| Address: [Some where] |
| Date of Birth: [01/01/1980] |
| |
| (any other fields goes on) |
| |
| |
+------------------------------------------------------+
В идеале я хочу создать элемент управления, который объединяет все вместе, поэтому во время разработки я мог бы использовать следующую разметку.
<myCtl:SuperContainer runat=”server” Title=”User Details”>
<asp:label id=”lblName” runat=”server” text=”Name:”/>
<asp:textbox id=”txtName” runat=”server”/>
<asp:label id=”lblDOB” runat=”server” text=”Date of Birth:”/>
<asp:textbox id=”txtDOB” runat=”server”/>
(…other controls definition…)
</myCtl:SuperContainer>
Я планирую включить в свой элемент управления две панели, одну для заголовка, а другую - для тела, но, как вы можете видеть, ключевой проблемой является найти способ «перенаправить» дочерние элементы управления, определенные в разметке, на панель тела вместо родительского контейнера по умолчанию. Я чувствую, что можно просто переопределить (манипулировать) свойством элемента управления, но я не знаю, как это сделать правильно.
Может ли кто-нибудь дать некоторое представление о том, как реализовать этот элемент управления «Суперконтейнер»?
Большое спасибо,
Эрик