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

时间:2013-09-03 06:40:24

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我正在使用包含项目列表

的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 Method.But不知道我应该在哪里放置将在我的Create View和所有项目中迭代的代码/ p>

  

model.AdditionalInfo

将保存到数据库

1 个答案:

答案 0 :(得分:0)

试试这个:

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