何时更新主/细节UI的各个部分

时间:2010-01-18 18:25:42

标签: silverlight architecture

我有一个UI,其中包含项目列表和所选项目的详细信息(典型的主/详细方案)。在我的例子中,这是一个Silverlight应用程序,但这个问题可能适用于其他编程模型。当应用程序启动时,UI的列表部分将通过WCF(我控制)从远程数据源(在我的情况下为SQL Server)中填充。然后,用户可以选择列表中的各种条目并查看所选条目的详细信息,添加新条目并编辑当前选择。用户有一个保存按钮来更新基础数据源。这是一个多用户环境。以下是我的问题:

1)当应用程序启动时,我应该获取列表中的所有内容以及它们的详细信息,还是在用户选择条目时从服务中获取详细信息?

2)何时从服务更新列表?编辑或添加后?目前,我在完成创建或更新时获得更新的条目,并使用返回的数据更新UI作为并发检查的一部分。这样,列表可能会变得陈旧,它不会显示其他用户可能已经创建的条目。

3)我是否应该始终提供刷新按钮以允许用户手动刷新列表?

如果我不清楚任何事情,请告诉我。

1 个答案:

答案 0 :(得分:0)

  1. 这实际上取决于您的数据列表有多重。如果您没有在一个页面上显示超过30-40个项目,我会将完整的实体添加到列表中,然后只在详细信息视图中显示它们。当然,如果你的实体本身数据量很大,有很多属性,嵌套列表等,你可能想重新考虑一下。

  2. 就个人而言,我在任何更新/添加/删除操作后立即更新我的数据列表,正是因为你提到的原因;获取其他用户可能已添加/更新/删除的项目。

  3. 当然,刷新按钮很不错,特别是如果您没有搜索功能。如果执行具有搜索功能,则与刷新按钮几乎相同。用户可以重复搜索以刷新列表。