Пользовательский веб-элемент управления как эталонная страница с двумя дочерними представлениями

Я создаю пользовательский веб-элемент управления .NET для Umbraco, который выглядит как одна страница, с боковой панелью (которая содержит идентификаторы элементов контента) в левой части страницы и двумя разными представлениями контента (которые отображают контент по идентификатору здесь ) справа от него.

Дело в том, что я не знаю, возможно ли сделать что-то вроде принципа masterpage/childs (с точки зрения этого пользовательского веб-элемента управления), поэтому у меня будет что-то вроде «Главной страницы» с этой боковой панелью, и я буду отображать один из двух дочерних представлений справа от него, в зависимости от идентификатора, выбранного на боковой панели?

Или, может быть, здесь должен быть какой-то обходной путь? Буду очень признателен за любую помощь здесь (например, информацию о том, как это можно сделать, какую информацию мне искать и т. Д.), Поскольку я совершенно новичок в такого рода вещах.


person Kamilius    schedule 15.11.2013    source источник


Ответы (1)


Из того, что я знаю, вы могли бы настроить свой «основной элемент управления» в пользовательском веб-элементе управления, а затем динамически создать один из двух настраиваемых элементов управления на основе значений, выбранных вами из вашего основного элемента управления. Это также известно как решение Master-Detail (приведена ссылка).

Учебник 10. Использование Master/Detail с выбираемым Master GridView с DetailView DetailView

Если бы каждый из этих элементов управления сам по себе был пользовательским элементом управления, вложенным в другой пользовательский элемент управления, вы могли бы, например, иметь три пользовательских веб-элемента управления: Master, Child1 и Child2.

Используя программный код, вы можете легко создавать динамические элементы управления на основе тех, которые вы выбираете из своего основного элемента управления с помощью событий на «странице контейнера». Используя эти события, вы можете динамически создавать свои пользовательские элементы управления/передавать им переменные и так далее.

Вот несколько статей о мероприятиях, если вам интересно:

События в элементах управления пользователя

События в элементах управления сервера ASP.NET

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

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

public int SpecialID { get; set; }
person BobbyDazzler    schedule 15.11.2013
comment
Я сейчас делаю что-то похожее, спасибо за толчок в правильном направлении :) - person Kamilius; 18.11.2013