C# 部分视图表单提交绑定到父视图模型的对象,而不是其自己的模型
我的测试应用程序中有以下内容 用于从局部视图发布数据的方法C# 部分视图表单提交绑定到父视图模型的对象,而不是其自己的模型,c#,asp.net-mvc,data-binding,partial-views,C#,Asp.net Mvc,Data Binding,Partial Views,我的测试应用程序中有以下内容 用于从局部视图发布数据的方法 public IActionResult AddPayor(Payor newPayor) { if (ModelState.IsValid) { mvSrv.SaveOnePayor(newPayor); return RedirectToAction("Index", "Payor"); } else {
public IActionResult AddPayor(Payor newPayor)
{
if (ModelState.IsValid)
{
mvSrv.SaveOnePayor(newPayor);
return RedirectToAction("Index", "Payor");
}
else
{
return View();
}
}
和索引cshtml视图,我想有一个项目列表,并能够添加更多。
注意模型类payerview;它包含要在ViewPayor视图中使用的付款人列表和要在AddPayor视图中使用的单个付款人。我这样做是为了AddPayor可以在列表为空的情况下传递对象。早些时候,我尝试仅将列表作为模型,但在列表为空时发送[0]元素失败
@addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
@model FSA_Tracker.ViewModels.PayorView
@{
Layout = "_Layout";
}
<partial name="ViewPayor" for="payors" />
<partial name="AddPayor" for="payor" />
我从那里提取付款人
有没有办法防止局部视图将其对象绑定到父视图模型?最好是从父视图
@addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
@model FSA_Tracker.Models.Payor
<fieldset>
<form asp-action="AddPayor" method="post">
<div asp-validation-summary="ModelOnly" class="input-validation-error"></div>
<div id="formContainer">
<p>
<label asp-for="Name"></label>
<input asp-for="Name" />
<span asp-validation-for="Name"></span>
</p>
<p>
<button type="submit">Add Payor</button>
</p>
</div>
</form>
</fieldset>
@{
var provider = new FSA_Tracker.Models.Provider();
<partial name="AddProvider" model="@provider" />
}
谢谢尝试将付款人模型传递到您的局部视图中,如:
<partial name="ViewPayor" model="@Model.Payor" />
明白了。我需要实例化新模型并将其传递到partial中。现在我明白我的意思了。我只是不知道我可以去一个与声明部分不同的名称空间。这将为局部视图提供一个新的提供者对象,而不是父视图中的属性
@addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
@model FSA_Tracker.Models.Payor
<fieldset>
<form asp-action="AddPayor" method="post">
<div asp-validation-summary="ModelOnly" class="input-validation-error"></div>
<div id="formContainer">
<p>
<label asp-for="Name"></label>
<input asp-for="Name" />
<span asp-validation-for="Name"></span>
</p>
<p>
<button type="submit">Add Payor</button>
</p>
</div>
</form>
</fieldset>
@{
var provider = new FSA_Tracker.Models.Provider();
<partial name="AddProvider" model="@provider" />
}
@{
var provider=new FSA_Tracker.Models.provider();
}
没有。还是同一个问题。我改为
,部分视图提交数据仍然绑定到父视图的对象。谢谢