2011-10-24 41 views
0

如何以專業方式綁定下拉菜單? DropDown組件是否需要傳遞到BAL(業務訪問層)?如何在三層架構中綁定下拉菜單

請提供一些代碼片斷和引用鏈接..

+2

這是什麼堆棧? WPF?的WinForms? Asp.Net?您將需要添加更多的細節,使其成爲一個可回答的問題。 –

+0

什麼是圖層? – Boomer

+0

@Boomer:物理層是類,我認爲.. – dotNETbeginner

回答

1

我通常會在我的業務層的方法,它返回自定義類的列表(例如:對國家,我將有一個國家A級具有公共屬性,如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(); 
      } 

上面的代碼執行我的UI層(在一個aspx頁面的代碼隱藏)

0

你可以通過牽着你的數據的類的數組。該級應該有公共屬性,使他們能夠訪問並綁定到你的下拉列表..或哪個控制你需要將數據綁定到

+0

可以請你展示一些示例代碼的圖層.. – dotNETbeginner

0

UI層必須處理UI操作,這同樣適用於必須處理業務操作的業務層。如果您將DropDown對象發送到業務層,則會造成違反原則的行爲,這些原則只會使您的代碼變得更加混亂,難以掌握並且更難以理解。

由於下拉控制是完全包含在UI的東西,我建議你請求的數據從你的「業務層」的約束和控制,以將數據綁定你的「UI層」內。

短句:讓圖層之間的交互處理數據,而不是信息。視覺控制是一種信息,具有特定用途的數據彙總,處理/包含操作,規則。客戶本身的清單只是客戶清單,純數據,沒有任何規則,操作或任何內容。

0

沒有下拉肯定不需要傳遞給任何下層,下層應該最終通過UI(表示層)調用像BL或服務層這樣的層,並消耗檢索到的數據,可能不依賴於數據庫技術數據訪問層中使用的邏輯或DAL邏輯。

查看此答案的一些示例:MVC3 and Entity Framework