有趣的事情发生在我身上。我有一个包含多行数据的网格,但如果有几个回发,页面将会失败。我用fiddler检查了一下,发现每次回帖后视图状态都会扩展2-3倍。
我所做的触发回帖的事情是搜索和排序。我不确定它是如何发生的。有谁能给我个提示吗?
谢谢!
发布于 2010-04-10 05:33:27
好了,我解决了这个问题。我认为ViewState就像一个字典,它保存一个键值对列表。在我的例子中,我的值是对象,这是一个地址或引用。因此,当我从ViewState获取一个对象,并不小心地将新的子对象分配给该对象时。所有新的子项都将自动放入ViewState。不幸的是,在我的代码中,有一个非常粗心的循环,从ViewState中获取孩子,在内存中创建副本,然后再添加回来!代码无法区分重复的子项,因为它们位于不同的地址...最后,页面在每次发帖时都会变得2倍大!
还是要谢谢你们!
发布于 2010-04-09 04:22:51
我的观点是,首先定位控件是使视图状态增长(可能你有任何下拉列表框,但忘记清除,并且在每个帖子返回时添加更多项)
要做到这一点,将viewstate=false一个接一个地放在控件上。
如果您找到了造成问题的控件,只需检查是否忘记清除它,然后只需向其中添加数据。
https://stackoverflow.com/questions/2602976
复制相似问题