1

假设我有一组需要在表格/列表中显示的项目。该集合是高度可变的,因为后台作业和其他用户访问相同的数据。

现在,结果输出必须包含触发基础数据操作的链接。这些操作可能会从集合中移除一个项目,但并不总是这样做。

由于 ListView 的模型(我现在不太确定 DataView)是基于索引的,因此在这种情况下它必然会失败。当我单击指向错误对象的链接时出现错误,因为基础列表的顺序或大小已更改。

所以我需要的是始终引用它们应该操作的对象的自然 ID 的链接。当链接呈现给用户时,我希望呈现的链接始终引用同一个对象,无论在呈现时使用的集合发生什么情况。

想到的最简单的解决方案是使用仅包含操作和 id 的无状态链接,将用户引导到另一个页面。但这有一个明显的缺点,即我首先失去了组件系统提供的所有好处。

你将如何解决这个问题?

4

1 回答 1

0

DataView 不基于索引,请参阅 IDataProvider#model(),因此您非常接近正确答案。

于 2012-08-31T11:17:21.490 回答