【发布时间】:2021-08-24 16:51:06
【问题描述】:
当我将大量对象(301 个对象)发布回页面处理程序时,出现错误 400。
这是form(为简单起见进行了修剪):
<form method="post" asp-page-handler="BuildJsonObject" asp-antiforgery="false">
@{
int i = 0;
foreach (var node in Model.FlattenedNodes)
{
<div class="form-inline mt-1">
<input type="hidden" name="FlattenedNodes[@i].Key" value="@node.Key" />
<input type="hidden" name="FlattenedNodes[@i].ValueKind" value="@node.ValueKind" />
<input type="hidden" name="FlattenedNodes[@i].Level" value="@node.Level" />
<input type="hidden" name="FlattenedNodes[@i].Key" value="@node.Key" />
<input type="hidden" name="FlattenedNodes[@i].ID" value="@node.ID" />
<input type="hidden" name="FlattenedNodes[@i].ParentId" value="@node.ParentID" />
<input type="text" class="form-control" name="FlattenedNodes[@i].StringValue" value="@node.StringValue" id="@id" />
</div>
i++;
}
<button type="submit" class="btn btn-primary">Save</button>
}
</form>
我将IgnoreAntiforgeryToken 属性应用于PageModel,现在错误没有发生,但发布的集合为空。
集合定义:
[BindProperty]
public List<TreeNode> FlattenedNodes { get; set; } = new List<TreeNode>();
【问题讨论】:
标签: c# http asp.net-core razor-pages antiforgerytoken