.NET Core Razor Pages 数据绑定与表单提交的部分视图

.NET Core Razor Pages Data Binding with partial views on form submission

我有一个带有 Address 对象的对象作为 属性,它在我的应用程序中使用了多个地方。我制作了一个看起来像

的局部视图
@model Address
<div>
    <div class="form-group">
        <label asp-for="@Model.AddressLine1"></label>
        <input asp-for="@Model.AddressLine1" />
    </div>
    ....

我使用

这样的形式
<form method="post">
    <div class="form-group">
        <input asp-for="@Model.Request.Business.Owners[0].FirstName" />
        <input asp-for="@Model.Request.Business.Owners[0].LastName" />
    </div>
    <input type="submit"/>
</form>

数据在整个表单上呈现良好,包括部分地址视图。当我提交表单时,我引用的每个人的地址部分在我提交表单时返回为 null,而其他数据是正确的数据绑定。是否可以将数据绑定到部分视图并使其正确提交表单 post?

您可能没有为部分内容提供上下文,因此它可以正确生成名称。按原样,部分将要生成像 AddressLine1 这样的名称,而正确绑定实际需要的是 Request.Business.Owners[0].Address.AddressLine1。我假设你正在做类似的事情:

<partial name="_Address" model="Request.Business.Owners[0].Address" />

相反,您需要使用 for 属性:

 <partial name="_Address" for="Request.Business.Owners[0].Address" />