在视图状态为10-15KB的页面中,
的最佳值 <pages maxPageStateFieldLength="">
是为了降低潜在截断的风险导致viewstate验证错误?
答案 0 :(得分:1)
maxPageStateFieldLength
不限制视图状态的大小,因此不会被截断。
它的作用是简单地控制将一个隐藏字段放置多少视图状态。如果视图状态大于maxPageStateFieldLength
值,则视图状态将简单地拆分为多个隐藏字段。
默认值为-1
,表示视图状态放在一个隐藏字段中,通常是最优的。
答案 1 :(得分:0)
我目前遇到的问题是,我们只为Firefox用户收到“由于无效的Viewstate导致的HttpException”错误。我也看到“System.Web.HttpException:与远程主机通信时发生错误。错误代码为0x80070001”异常与viewstate配对。
我相信firefox可能在(可能)隐藏的表单字段上有最大大小 - 我需要验证这一点。我现在正在寻找使用maxPageStateFieldLength来填充视图状态以希望解决(在短期内)。长期解决方案是重构aspx页面以对网格进行分页查询(而不是一次性拉下所有行 - 这不是一件好事)。
恕我直言,你应该放入一个相当大但不是无限制的最大值。我说1MB是一个开始。