1

我对 Salesforce 上的查看状态有疑问,需要帮助:Salesforce 已超出最大查看状态大小限制 (135KB)。我的网站获取视图状态大于 Salesforce 的限制。我在谷歌上搜索并获得了一些解决方案,但没有太大改善:(,有人帮助我吗?,非常感谢!

杰瑞

4

4 回答 4

2

我多次遇到这个问题。如果要减小内部大小,请使用 HTMl 表而不是页块表或数据表。这些页面块表(和其他顶点表)它们对表列和数据应用自己的内部验证,因此只需将所有内容更改为纯 html 表。通过这样做,您可以将其从 199 减少到 99 kb。我已经做了。

于 2013-09-06T10:19:13.347 回答
1

我相信有人可以填写更完整的答案。但第一步是阅读transient关键字。控制器中标记为瞬态的属性/成员变量不会保存在 Viewstate 中。如果你有一堆不必要的东西,那么这会有所帮助。

http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_keywords_transient.htm

于 2013-09-05T13:54:14.140 回答
0

一个好的第一步是查看什么占用了最大的视图状态。您可以通过在用户配置文件中启用开发模式来查看它。这里有一些提示和很好的介绍 另一个更高级的有用资源是这个答案(关于内部部分)

于 2013-09-08T11:18:50.417 回答
0

一些可能有帮助的修复是

在变量之前添加瞬态关键字,例如仅用于打印表格的列表。

使用 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

于 2016-05-05T05:36:51.793 回答