我正在设计一个ASP.NET屏幕,用于配置哪些屏幕与特定类型的记录相关。例如,汽车记录可以访问福特和法拉利页面。我在左侧显示一个包含所有可用项目的列表框,在右侧显示一个包含当前所选项目的列表框。两个箭头图标允许您将项目从左侧列表框移动到右侧列表框,反之亦然。
我正在试图找出一种存储所选访问的好方法。最简单的方法是删除所有当前选定的项目,然后从“所选项目”列表框中重新插入项目。但是需要更准确地审核更改,因此需要单独插入和删除。我应该将原始项目存储在隐藏字段中,然后尝试将最终选定的项目与原始项目进行比较吗?是应该在表示层,对象内还是在存储过程中完成工作?
感谢任何指导, 迪安
答案 0 :(得分:1)
我不会在表示层上执行此操作,将新列表发送到您的业务层。在那里检索当前列表并与新列表进行比较。根据它进行插入和删除。
答案 1 :(得分:0)
如果您希望选择是持久的,则应将它们存储在DataLayer中。
业务层: 汽车实体和汽车收藏
在服务器端,您可以创建包含所有(选定/未选定)项目的项目集合。
汽车实体项目需要其名称,ID和所选信息。当用户进入页面并在任何时候检查它时,将此集合存储在会话中。
这是一个汽车物品:
CarItem
- 编号
- 名称
- IsSelected