什么是确定我的观点中的内容的好方法?

时间:2009-03-20 20:22:46

标签: asp.net viewstate decode

我有一个页面非常庞大(> 300KB)。 ...是的,我知道。我已将此异常缩小到一个用户控件,但我无法确定控件的确切位置。

我已经覆盖了页面中的SavePageStateToPersistenceMedium,但是使用传入的viewstate对象并不是很好。我可以将它传递给某些递归函数,该函数会打印出对象中的所有内容吗?

我尝试使用免费提供的viewstate解码器,但没有一个有效。尝试反序列化视图状态时,我总是会遇到错误。

我几乎在这里寻找代码片段。

谢谢,
标记

感谢您的追踪建议,尤其是trace.axd的事情。但这仍然只告诉我控件有多大,它并没有告诉我在视图状态中有什么。我希望能够看到是否存在我错误地序列化为viewstate的对象。

4 个答案:

答案 0 :(得分:1)

我曾经使用过trace.axd。它列出了每个请求并转储了viewstate的内容。您必须在web.config中启用跟踪。如果您有很多请求,则需要将缓存大小更新为10以上。

答案 1 :(得分:1)

Fritz Onion's ViewState Decoder就是你所需要的!

答案 2 :(得分:0)

关于viewstate解码器的问题,您可能会对viewstate进行加密。查看此帖子上的评论/链接:http://www.testingreflections.com/node/view/3424

更新:尝试在web.config中的pages元素上完全关闭它:

<pages ... viewStateEncryptionMode="Never" ... />

查看此msdn doc How To: Configure MachineKey in ASP.NET 2.0

中的视图状态部分

答案 3 :(得分:0)

我只想将Trace =“true”添加到本地计算机上的page指令中。控制树部分将显示每个控件的视图状态大小。