我有一个对象,其中有一个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>
数据在整个窗体(包括部分"地址"视图)上呈现良好。 当我提交表单时,我引用的地址部分我在提交表单时返回为空,而其他数据则正确绑定数据。 是否可以将数据绑定到分部视图并使其与表单发布一起正确提交?
很可能,您没有为部分提供上下文,以便它可以正确生成名称。按原样,部分将想要生成像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" />