簡體   English   中英

如何在3層架構中綁定下拉列表

[英]how to bind dropdown in 3-tier architecture

如何以專業方式限制下拉列表? 是否需要將DropDown組件傳遞到BAL(業務訪問層)?

請提供一些代碼段和參考鏈接。

我通常在我的業務層中有一個返回自定義類列表的方法(例如:對於State,我將有一個State類,它具有ID,Name,Code等公共屬性),然后將其綁定到下拉列表中清單

            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();
            }

上面的代碼在我的UI層中執行(在aspx頁面的代碼后面)

您可以傳遞包含數據的類的數組..該類應具有公共屬性,以便可以訪問它們並將其綁定到您的dropdownlist ..或需要將數據綁定到哪個控件

UI層必須處理UI操作,這同樣適用於必須處理業務操作的業務層。 如果將DropDown對象發送到業務層,則會違反原則,這只會​​使代碼更混亂,更難維護且更難以理解。

由於DropDown控件是UI專有的內容,因此建議您從“業務層”請求綁定數據,然后將控件綁定到“ UI層”內部的數據。

簡而言之: 讓層之間的交互處理數據而不是信息 視覺控件是一種信息,具有特定用途,交易/包含操作,規則的數據聚合。 客戶列表本身就是客戶列表,純數據,沒有任何規則,操作或任何內容。

沒有下拉列表肯定不需要傳遞到任何較低的層,像BL或服務層之類的較低層應最終由UI(表示層)調用並使用檢索到的數據,可能與數據庫技術或DAL無關數據訪問層中使用的邏輯。

參見以下示例示例的答案: MVC3和實體框架

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM