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

本文关键字:asp 数据库 net mvc 存在 保存 创建 动态 控件 数据 | 更新日期: 2023-09-27 18:29:55

我正在使用具有项目列表的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");
        }

但只有第一个Textbox的数据被保存在数据库中。我想我需要迭代我的[HttpPost]Create方法。但不确定我应该把在整个Create View和中所有项目中迭代的代码放在哪里

型号.附加信息

将保存到数据库

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

试试这个:

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