为特定页面指定 MaxHttpCollectionKeys?

4
我想知道是否有一种方法可以更改特定页面的此值,而不是为整个项目设置它。 我们遇到了限制,但仅适用于几个页面。 我们的项目使用.NET 3.5。
对于那些不知道这个变量是什么的人,它是为了解决这个问题: http://support.microsoft.com/kb/2661403 如果您有很多表单键(超过1000个),则在返回页面时会出现异常。 您可以通过在web.config中指定来解决此问题:
已经有几个关于这个限制的问题,比如这个问题: 'Operation is not valid due to the current state of the object' error during postback 然而,我没有看到任何与为特定页面设置此内容有关的信息。
1个回答

5
不,这是不可能的。它总是检查appSetting aspnet:MaxHttpCollectionKeys, 如果缺少它,它将被设置为1000。你无法覆盖它,因为读取设置和默认值是在内部类中完成的。
也许更好的方法是构建一个少于1000项的表单。也许是以向导的形式。或者通过将多个值合并为一个数据结构,并在服务器上反序列化它。

谢谢您的回复。我会接受这个作为答案。当然,理想情况是减少页面上的控件数量。每当出现并且在UI中有意义时,我们可能会实现分页。但是,我希望能够找到某种临时解决方案,可以在用户报告它或者我们真的不想限制某个页面上的控件数量时,将其应用于单个页面。由于web.config影响整个项目,我们可能会错过其他问题。 - Itison
我认为这里更大的问题是框架为什么忽略了在位置元素下配置的“appsettings”。 - Phil Cooper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接