在Repeater中嵌套GridView

时间:2020-03-05 18:49:43  来源:igfitidea点击:

我有一种情况,例如,我需要重复一个美国州的列表,并在每个州的名称后显示一个城市和城市人口的表格。设计要求规定,每个外部重复都必须是一个州的名称,后跟一个城市表,并且此要求此时不能更改。将一个GridView嵌套在一个Repeater中,然后在Repeater的ItemDataBound事件期间绑定每个重复的GridView是否有缺点?有哪些替代解决方案?

解决方案

回答

如果是我,我会反问,问我为什么要使用GridView。如果我们需要一堆诸如分页和排序之类的内置功能,那么GridView可能是一个不错的选择。如果我们只需要表格数据,我会重新考虑。为什么?因为有了GridView,我们可以获得一堆我们不会使用的东西,所以ViewState可能很大,并且页面性能会变慢。

在GridView方面,我并不是一个顽固的人,但是我只在有该死的充分理由时才使用它们。

回答

在上述情况下,最好使用主从样式GridView,这将为我们节省所有创建的GridView对象的开销。

它有多种实现方式(使用主菜单的下拉菜单,使用细节的模式弹出窗口等),但是要点是有可用的实现。

回答

至少,希望我们可以关闭GridViews上的ViewState。

回答

我能想到的最好的解决方案是将GridView嵌套在Repeater中。然后,我在Repeater的ItemDataBound事件期间绑定了每个重复的GridView。我当然关闭了它们的ViewState,因为它们不是必需的。