5

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

 public ActionResult Create()
        {
            var savedAdditionalFields = afs.getAllStudentFieldss(1);
            ViewBag.AdditionalFieldList = savedAdditionalFields;
            return View();
        }

在我正在使用的视图中

创造

@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>
        }

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

[HttpPost]

 public ActionResult Create(StudentAdditionalDetail additionalFields)

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

            return RedirectToAction("Index");

        }

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

模型.附加信息

将被保存到数据库中

4

1 回答 1

0

尝试这个:

[HttpPost]
public ActionResult Create(List<StudentAdditionalDetail> additionalFields)
{
      ads.AddAdditionalDetails(additionalFields);//calls the insert method
      return RedirectToAction("Index");
}
于 2013-09-03T06:47:26.327 回答