首页 新闻 搜索 专区 学院

asp.net 没有viewstate下,有什么可以替代GridView

0
悬赏园豆:10 [已解决问题] 解决于 2011-12-19 20:07

基于asp.net webform的项目

我想,如果没有viewstate很多控件都无法正常工作。特别是GridView

这种情况下,有什么可以替代GridView的? 或者的类似。

 

难道要直接在aspx里面foreach吗?

 

谢谢。

无尽思绪的主页 无尽思绪 | 初学一级 | 园豆:94
提问于:2011-11-18 12:13
< >
分享
最佳答案
0

写个辅助类 拼接HTML吧

收获园豆:1
慧☆星 | 大侠五级 |园豆:5399 | 2011-11-19 16:22
其他回答(3)
0

代替不了,就好像你想用电脑,又没有电.

如果不用GridView编辑等高级功能,可以用repeater.

收获园豆:5
zhangweiwen | 园豆:904 (小虾三级) | 2011-11-18 14:36

确实不用编辑等类似的高级功能,但是我发现repeater依然会产生大量的viewstate代码(比如每页显示50-100记录,10个字段左右)。

支持(0) 反对(0) 无尽思绪 | 园豆:94 (初学一级) | 2011-11-18 14:49

@无尽思绪: 

那些viewstate应该不是repeater生成的吧,repeater生成的代码很干净的.

支持(0) 反对(0) zhangweiwen | 园豆:904 (小虾三级) | 2011-11-18 17:51
0

直接用table,不用服务器控件就可以了

收获园豆:2
artwl | 园豆:16526 (专家六级) | 2011-11-18 16:37

是可以直接用table, 那么在aspx里面用foreach循环数据输出吗?

支持(0) 反对(0) 无尽思绪 | 园豆:94 (初学一级) | 2011-11-18 16:38

@无尽思绪: 方法一:在前台用foreach,方法二:在后台拼接HTML代码

支持(0) 反对(0) artwl | 园豆:16526 (专家六级) | 2011-11-18 16:39

@artwl: 两种方法本质一样,呵

支持(0) 反对(0) 无尽思绪 | 园豆:94 (初学一级) | 2011-11-19 13:58

@无尽思绪: 嗯,是的

支持(0) 反对(0) artwl | 园豆:16526 (专家六级) | 2011-11-20 21:55
0

如果你只用Repeater,那可以把runat=server的form去掉,这样就不会有ViewState,前提是页面中没有其他server端的表单元素~

收获园豆:2
囧月 | 园豆:1139 (小虾三级) | 2011-11-19 13:33

如果去掉runat=server repeater可以用吗? 没试过,不过估计在*.aspx.cs文件里面无法使用repeater。

支持(0) 反对(0) 无尽思绪 | 园豆:94 (初学一级) | 2011-11-19 13:58

@无尽思绪: 我是说去掉form的runat=server而不是Repater的,Repeater,Literal这些控制不放在runat=server的form里面是可以用的。比如下面的代码,你可以试试:

<body>

<asp:Repeater runat="server" Id=...>......</asp:Repeater>

</body>

支持(0) 反对(0) 囧月 | 园豆:1139 (小虾三级) | 2011-11-19 14:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册