在Repeater中嵌套GridView

时间:2008-09-08 22:56:22

标签: asp.net data-binding gridview repeater

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

4 个答案:

答案 0 :(得分:2)

如果是我,我会反驳这个问题,并问为什么我应该使用GridView,如果你需要一堆内置的功能,如分页和排序,那么GridView可能是很合适。如果您只想要表格数据,我会重新考虑。为什么?因为使用GridView你会得到一大堆你不会使用的东西,你的ViewState可能会很大,而你的页面性能也会变慢。

对于GridView,我不是一个偏见,但我只有在有充分理由的时候才使用它们。

答案 1 :(得分:1)

在上面的场景中,你最好做一个主 - 细节样式的GridView,这将节省你创建的所有GridView对象的开销。

它有各种各样的实现(using a drop down for the master,使用modal popup for the detail等),但重点是有可用的实现。

答案 2 :(得分:1)

至少,希望你可以在GridViews上关闭ViewState。

答案 3 :(得分:1)

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