在模型绑定期间丢失表单值

时间:2013-09-26 17:07:00

标签: asp.net asp.net-mvc iis

我有一个数据输入屏幕,我们在其中输入促销优惠的记录。在我的开发笔记本电脑上,页面按预期运行而没有问题。

但是,在我们的生产环境中,当我的页面有很多记录时,行为会有所不同。如果我发布50条记录 - 每条记录包含大约几十个表单输入 - 到我的MVC操作,我看到只有42条记录实际上是模型绑定的,而第42条记录缺少数据。

在远程调试此操作时,我将this.Request.Form.Count输入到即时窗口,我得到1000作为响应。这个数字对我来说有点太圆了。果然,如果我询问this.Request.Form[999],该值对应于第42条记录的一段数据。

当我向我的制作网站发布超过1000个表单字段时,我将失去任何超过1000的表单字段。

我的生产环境是Windows 2003,IIS 5.0。在IIS或我的web.config中是否有一些设置我可以申请提高此限制?正如我所说,当我使用Visual Studio运行我的网站时,我没有问题。

1 个答案:

答案 0 :(得分:1)

有关为何需要解决方法的信息,请参阅此知识库文章:http://support.microsoft.com/kb/2661403

<appSettings>
    <add key="aspnet:MaxHttpCollectionKeys" value="<LargerInt>" />
</appSettings>

如果你正在使用JSON,你还需要注意这个值:

<add key="aspnet:MaxJsonDeserializerMembers" value="<AnotherLargerInt>"/>

这些都会引发安全漏洞,导致拒绝服务,如知识库文章和相关安全公告中所述。

相关问题