我有一个带有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>
数据在整个表单(包括部分“地址”视图)上呈现良好。当我提交表单时,我引用的每个人的Address部分都在提交表单时返回为null,而其他数据是正确绑定的数据。是否可以将数据绑定到部分视图,并使其正确地通过表单发布提交?
答案 0 :(得分:2)
很可能,您没有为部分提供上下文,以便它可以正确生成名称。照原样,当您真正需要正确绑定的是AddressLine1
时,partial将要生成类似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" />