我有一个设计问题。我有一个4层深的嵌套中继器结构。中继器显示被视为“第1-4节”的数据。这些部分都与数据库绑定到一个职位描述。处理嵌入式中继器的深度
我想添加一个编辑按钮到中继器最深层的每个项目。但是,中继器的深度并不完全相同。工作描述可以为每个部分(1-4)有多个条目,因此需要中继器。如前所述,尽管如此,一个给定条目的条目可能是1-3 ...然后1-4 ...甚至可能只是第一部分。
使这个棘手的一个额外的先决条件是它被设计为一次绑定到一个层次。然后他们点击钻取img按钮,将下一组数据绑定到内部中继器。所以这比简单计算绑定次数更困难。
所以我的问题是我可以使用哪种编程结构,推导给定条目的深度会相对较快?显然,考虑到我有一个到期日期,一个不需要大量时间的解决方案将会是惊人的。
这是表结构。请记住它不可更改。这是在更多时间之前。
Table FK PK
Section1 | JobID | Sect1ID |
Section2 | Sect1ID | Sect2ID |
Section3 | Sect2ID | Sect3ID |
Section4 | Sect3ID | Sect4ID |
直放站结构
<Repeater 1>
<Section 1 Data>
<Repeater 2>
<Section 2 Data>
<Repeater 3>
<Section 3 Data>
<Repeater 4>
<Section 4 Data>
</Repeater>
</Repeater>
</Repeater>
</Repeater>
我的一些想法。
创建一个计算条目深度的存储过程。传入SectID并返回相对于SectID的深度。我已经有了一个适当的结构来通过一个隐藏的asp:标签,通过Section ID来识别每个单独的repeater项目。
维护一个词典,用于将节映射到其深度。利用存储过程。但是,只有在钻取项目时才能输入。这种方式很轻便,我只跟踪用户感兴趣的项目。
每次用户向下钻取时,检查深度是否相等......如果是,则显示编辑img按钮,如果不是,则钻取并增加字典中的值。
他们在我的解决方案中预见到的任何其他想法或问题?