将动态创建的控件数据保存在数据库中asp.net mvc

Mir*_*war 5 c# asp.net asp.net-mvc asp.net-mvc-4

我正在使用具有项目列表的 viewbag 创建控件

 public ActionResult Create()
        {
            var savedAdditionalFields = afs.getAllStudentFieldss(1);
            ViewBag.AdditionalFieldList = savedAdditionalFields;
            return View();
        }
Run Code Online (Sandbox Code Playgroud)

在我正在使用的视图中

创造

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)

    <fieldset>
        <legend>StudentAdditionalDetail</legend>

    @foreach (MyClass item in ViewBag.AdditionalFieldList)
        { 

        <div>

            @Html.DisplayFor(itemlist=>item.Name)

            @Html.EditorFor(model=>model.AdditionalInfo)

        </div>
        }
Run Code Online (Sandbox Code Playgroud)

控件和标签已创建。现在我正在使用将项目保存在数据库中

[HttpPost]

 public ActionResult Create(StudentAdditionalDetail additionalFields)

        {   
            ads.AddAdditionalDetails(additionalFields);//calls the insert method

            return RedirectToAction("Index");

        }
Run Code Online (Sandbox Code Playgroud)

但只有第一个文本框的数据保存在数据库中。我想我需要迭代我的 [HttpPost] 创建方法。但不确定我应该将迭代整个创建视图和所有项目的代码放在哪里

模型.附加信息

将被保存到数据库中

And*_*rei 0

尝试这个:

[HttpPost]
public ActionResult Create(List<StudentAdditionalDetail> additionalFields)
{
      ads.AddAdditionalDetails(additionalFields);//calls the insert method
      return RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud)