.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" />
我有一个带有 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" />