使用 Html.BeginCollectionItem 将集合传递给部分视图
创建允许用户添加模型的多个实例的表单时,通常需要为每个实例渲染部分视图。 ASP.NET MVC 提供了 Html.BeginCollectionItem 帮助程序来促进此过程。
BeginCollectionItem 帮助程序创建一个表行,其中包含模型当前实例的表单字段。提交表单时,输入到这些字段中的数据将绑定到模型对象的相应属性。
要使用 BeginCollectionItem,您必须首先创建一个代表单个实例的表单字段的分部视图模型的。例如,请考虑以下名为 _Recipient.cshtml 的部分视图:
@model CashRecipientVM <div>
此部分视图定义了一个带有两个文本框(用于收件人和金额)和一个删除按钮的表单。 BeginCollectionItem 帮助器确保模型的每个实例都有自己的一组表单字段。
在主视图中,您可以使用 BeginCollectionItem 帮助器将这些部分视图的集合添加到表单中。例如:
@model IEnumerable<CashRecipientVM> @using (Html.BeginForm()) { <div>
此代码创建一个包含 CashRecipientVM 对象列表的表单。 BeginCollectionItem 帮助器用于呈现列表中每个对象的部分视图。
该表单包含一个“添加”按钮,允许用户添加模型的其他实例。单击“添加”按钮时,将向控制器发出 AJAX 请求以检索另一个部分视图。然后,检索到的部分视图将添加到表单中。
提交表单时,输入到表单字段中的数据将绑定到 CashRecipientVM 对象的相应属性。然后控制器可以处理这些对象并将它们保存到数据库中。
以上是如何使用 Html.BeginCollectionItem 管理 ASP.NET MVC 部分视图中的多个模型实例?的详细内容。更多信息请关注PHP中文网其他相关文章!