我有两个或多或少看起来像这样的集合:
[BindProperty]
public List<MyObject> MyObjects { get; set; } = new List<MyObject>();
[BindProperty]
public List<MyOtherObject> MyOtherObjects { get; set; } = new List<MyOtherObject>();
因此,它们将绑定到服务器,但是我不太确定如何将它们绑定到客户端。或者我只是做错了。页面加载时,列表将添加到HTML表中,但没有直接绑定:
@foreach (var item in Model.MyObjects)
{
<tr>
<td>
Title
</td>
<td>
@Html.DisplayFor(m => item.Property)
</td>
</tr>
}
问题是我需要发布到服务器以在不同点将项目添加到每个列表。当我这样做时,我只是return Page();
。我没有重定向,因为此时,什么都没有保存到数据库,并且表单不完整。
根据我目前的知识,我认为我有两个选择:重定向并在查询字符串中传递数据,或将数据保存到cookie并在每次POST时重新填充。
两者都不是很好的选择。有一个更好的方法吗?
模型绑定旨在与表单值一起使用。如果不从服务器上的持久性数据重新填充集合,则需要为每个项目添加表单字段以使“模型绑定”起作用。如果要创建多步,类似向导的表单,通常会将每个步骤的未保存值保留在一个步骤到下一个步骤的隐藏字段中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句