как связать выпадающий в 3-х уровневой архитектуре - PullRequest
0 голосов
/ 24 октября 2011

как выпадающий список должен быть связан профессионально?Нужно ли передавать компонент DropDown в BAL (уровень доступа к бизнесу)?

Пожалуйста, предоставьте фрагмент кода и справочные ссылки.

Ответы [ 4 ]

1 голос
/ 24 октября 2011

У меня обычно есть метод в моем бизнес-уровне, который возвращает класс List of Custom (например, для State, у меня будет класс State, который имеет общедоступные свойства, такие как ID, имя, код). Затем я свяжу его с выпадающий список

            List<State> objLstState =new List<State>();
            objLstState = StateManager.GetStates();  //This method returns a list of States
            if(objLstState!=null && objListState.Count>0)
            {
              dropDownSchoolState.DataSource = objLstState;
              dropDownSchoolState.DataTextField = "Name";
              dropDownSchoolState.DataValueField = "ID";
              dropDownSchoolState.DataBind();
            }

Приведенный выше код выполняется на моем уровне пользовательского интерфейса (в коде за aspx-страницей)

0 голосов
/ 24 октября 2011

Нет, конечно, раскрывающийся список не нужно передавать на какой-либо нижний уровень, нижние уровни, такие как BL или уровень обслуживания, должны в конечном итоге вызываться пользовательским интерфейсом (уровень представления) и потреблять полученные данные, возможно, без зависимости от базы данных.технология или логика DAL, используемые на уровне доступа к данным.

см. этот ответ для некоторых примеров: MVC3 и Entity Framework

0 голосов
/ 24 октября 2011

Уровень пользовательского интерфейса должен иметь дело с операциями пользовательского интерфейса, то же самое относится и к бизнес-уровню, который должен иметь дело с бизнес-операциями.Если вы отправите свой объект DropDown на свой бизнес-уровень, вы создадите нарушение принципов, которые только сделают ваш код более запутанным, сложным в обслуживании и более трудным для понимания.

Поскольку элемент управления DropDown является чем-то исключительно ограниченнымдля пользовательского интерфейса я предлагаю вам запросить привязку данных к вашему «бизнес-уровню» и привязать элемент управления к данным внутри вашего «уровня пользовательского интерфейса».

В короткой фразе: let theвзаимодействия между вашими слоями имеют дело с данными, а не с информацией .Визуальный контроль - это информация, совокупность данных с очень специфическим использованием, операции с контентом / правилами, правила.Сам по себе список клиентов - это просто список клиентов, чистые данные, без каких-либо правил, операций или чего бы то ни было.

0 голосов
/ 24 октября 2011

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

...