0

下拉菜单需要如何以专业的方式绑定?DropDown组件是否需要传递给BAL(业务访问层)?

请提供一些代码片段和参考链接..

4

4 回答 4

1

我通常会在我的业务层中有一个方法,它返回一个自定义类列表(例如:对于状态,我将有一个状态类,它具有 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 页面的代码隐藏中)

于 2011-10-24T14:03:07.337 回答
0

您可以传递包含您的数据的类的数组..该类应该具有公共属性,以便可以访问它们并将它们绑定到您的下拉列表..或者您需要将数据绑定到哪个控件

于 2011-10-24T13:43:59.957 回答
0

UI 层必须处理 UI 操作,同样适用于必须处理业务操作的业务层。如果您将 DropDown 对象发送到业务层,您将违反原则,只会使您的代码更混乱、更难维护和更难理解。

由于 DropDown 控件是专门为 UI 包含的,我建议您请求从“业务层”绑定数据并将控件绑定到“UI 层”内的数据。

简而言之:让层之间的交互处理数据,而不是信息。可视化控件是一种信息,具有非常特定用途的数据聚合、处理/包含操作、规则。客户列表本身只是一个客户列表,纯数据,没有任何规则、操作或任何东西。

于 2011-10-24T13:59:56.120 回答
0

不,下拉菜单肯定不需要传递到任何较低层,BL 或服务层等较低层最终应由 UI(表示层)调用并使用检索到的数据,可能不依赖于数据库技术或 DAL数据访问层中使用的逻辑。

有关一些示例,请参见此答案:MVC3 和实体框架

于 2011-10-24T14:03:32.693 回答