如何在ASP.NET MVC中实现提交若干个某模型的数据(某Model的List或ICollection,大小不定)

本文介绍了在ASP.NET MVC中如何处理并提交包含List或ICollection的模型数据,尤其是当数据项数量不固定的情况。通过Html.BeginCollectionItem方法,可以方便地解决模型绑定的难题,适用于需要动态添加步骤或条目的业务场景。
摘要由CSDN通过智能技术生成

背景说明

在ASP.NET MVC中,有一个我们经常使用且十分好用的功能——模型绑定。

即在页面中指定该页面将会使用到的数据模型Model,然后在“显示数据”或“提交数据”时,就可以很方便的获取数据内容。

通常情况下这两种场景都比较容易实现,特别是“显示数据”时,不管绑定的模型如何复杂都可以轻松的显示所有你想要的数据。

但是,“提交数据”时,就不一定那么简单了。特别是当模型中包含一个List或者ICollection数据(即实现集合类型接口的数据),且该数据中包含的item数量不确定时,情况就变的有些棘手了。

问题描述

下面举一个这种情况的例子

假如要给一个系统录入一个某业务的操作说明页面,页面包含如下内容:1). 标题    2). 业务介绍   3). 操作步骤(录入前不确定多少步)

解决方案

因此,这个页面对应着如下模型 BusinessHelp

public class BusinessHelp
{
	public string BusinessTitle{ get; set; }

	public string BusinessDescription{ get; set; }

	public virtual ICollection<StepDetail> StepDetails { get; set; }

}


在录入页面AddBusinessHelp.cshtml中,主要内容如下:

@model HospitalProject.Models.AdminModel.BusinessHelp

@using (Html.BeginForm("ActionName","ControllerName", FormMethod.Post))
{
	@Html.TextBoxFor(m => m.BusinessTitle)
	@Html.TextAreaFor(m => m.BusinessDescription)
	<div id="movieEditor">	
		@foreach (StepDetail step in Model.StepDetails)
        	{
         		Html
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值