【问题标题】:.NET Core Razor Pages Data Binding with partial views on form submission.NET Core Razor Pages 数据绑定与表单提交的部分视图
【发布时间】:2023-03-10 17:06:01
【问题描述】:

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

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

【问题讨论】:

  • 你是如何绑定模型的?你的地址对象是什么?您能否还显示部分生成的控制器代码和 HTML?

标签: asp.net-core razor-pages


【解决方案1】:

您可能没有为部分提供上下文,以便它可以正确生成名称。照原样,部分将要生成像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" />

【讨论】:

  • 确实是这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-10
  • 2020-05-08
  • 2019-07-25
  • 2021-06-24
  • 2020-10-04
  • 2018-08-16
  • 1970-01-01
相关资源
最近更新 更多