【发布时间】:2013-09-05 09:56:40
【问题描述】:
我在 Salesforce 上查看状态时遇到问题,需要帮助: Salesforce 已超出最大视图状态大小限制 (135KB)。我的网站获取视图状态大于 Salesforce 的限制。我在谷歌上搜索并获得了一些解决方案,但没有太大改善:(,有人帮助我吗?非常感谢!
杰瑞
【问题讨论】:
-
没有代码我们帮不上什么忙。
标签: salesforce
我在 Salesforce 上查看状态时遇到问题,需要帮助: Salesforce 已超出最大视图状态大小限制 (135KB)。我的网站获取视图状态大于 Salesforce 的限制。我在谷歌上搜索并获得了一些解决方案,但没有太大改善:(,有人帮助我吗?非常感谢!
杰瑞
【问题讨论】:
标签: salesforce
我多次遇到这个问题。如果要减小内部大小,请使用 HTMl 表而不是页块表或数据表。 这些页面块表(和其他顶点表)它们对表列和数据应用自己的内部验证,因此只需将所有内容更改为纯 html 表。 通过这样做,您可能会将其从 199 减少到 99 kb。我已经做了。
【讨论】:
我相信有人可以填写更完整的答案。但第一步是阅读transient 关键字。控制器中标记为瞬态的属性/成员变量不会保存在 Viewstate 中。如果你有一堆不必要的东西,那么这会有所帮助。
http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_keywords_transient.htm
【讨论】:
一些可能有帮助的修复是
在变量之前添加瞬态关键字,例如仅用于打印表格的列表。
使用 HTML 组件而不是 Salesforce 组件(大多数情况下,如果 SF 组件在 apex:repeat 中使用)。 SF 组件比 HTML 组件消耗更多的视图状态。例如。使用 HTML 表格而不是 apex:pageBlockTable。
希望这会有所帮助。
阅读更多关于它的信息
http://www.salesforce.com/us/developer/docs/pages/Content/pages_best_practices_performance.htm
http://wiki.developerforce.com/page/An_Introduction_to_Visualforce_View_State
【讨论】: