Razor 页面页面可以在发布请求上处理的输入的最大数量是多少?

Posted

技术标签:

【中文标题】Razor 页面页面可以在发布请求上处理的输入的最大数量是多少?【英文标题】:Is there a maximum number of inputs that a Razor Pages page can process on a Post Request? 【发布时间】:2022-01-06 07:56:56 【问题描述】:

我的 .Net 5 Razor Pages 站点中有一个页面,它使用模型绑定到复杂对象的集合,因此可以有很多文本输入框 - 每行 8 个,我刚刚测试了 39 个页面行就可以了。当我提交表单时,Post Event 处理程序不会被触发 - 我只是收到 400 错误。当我用少得多的行对其进行测试时,post 事件确实会按表单值的预期触发。剃刀页面页面可以处理的输入的最大数量,或者它可以绑定的表单值是否存在?我以前遇到过这个问题,但如果是这种情况,这是一个严重的限制

【问题讨论】:

【参考方案1】:

默认情况下,表单阅读器可以处理的最大值数为 1024。您可以在 ConfigureServices 中全局配置不同的限制:

services.Configure<FormOptions>(options => options.ValueCountLimit = 2000);

或者您可以使用RequestFormLimits 属性为特定的PageModel 配置它:

[RequestFormLimits(ValueCountLimit = 5000)]
public class IndexModel : PageModel

https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.requestformlimitsattribute?view=aspnetcore-5.0

【讨论】:

谢谢!我找不到这个问题的答案!

以上是关于Razor 页面页面可以在发布请求上处理的输入的最大数量是多少?的主要内容,如果未能解决你的问题,请参考以下文章

我如何在 Razor 页面中序列化表单并发送 JSON 请求 Ajax [重复]

什么时候在 Razor 页面中使用 OnPut 或 OnDelete?

有没有办法在 ASP.NET Core 2.1 中捕获对 Razor 页面不存在的自定义处理程序的 HTTP 请求?

如何ASP.NET Core Razor中处理Ajax请求

ASP.NET Core Razor中处理Ajax请求

发布到 Razor 页面时出现 400 错误请求