从mvc3中的多个动态控件获取数据

时间:2012-09-10 11:18:17

标签: asp.net-mvc asp.net-mvc-3 razor

我创建了一个局部视图

@model chPayroll.Models.HREducation.HRInfo
 @{
      var list = (IEnumerable<SelectListItem>)TempData["PassedDivision"];
      var list1 = (IEnumerable<SelectListItem>)TempData["Country"];
 }
 <table >
       @Html.HiddenFor(x => x.StaffId)
   <tr>
    <td>@Html.DropDownListFor(x => x.Country, list1, "-select-",null)</td>
    <td>@Html.TextBoxFor(x => x.Board)</td>
    <td>@Html.TextBoxFor(x => x.Level)</td>
    <td>@Html.TextBoxFor(x => x.PassedYr)</td>
    <td>@Html.DropDownListFor(x => x.PassedDivision, list, "-selected-",null)</td>
    <td><input type="file" name="file" /></td>
   </tr>
</table>

我从控制器

多次调用此局部视图
[HttpGet]
        public ActionResult BlankEditorRow(string search)
        {
            HRInfo aa = new HRInfo();
            TempData["PassedDivision"] = extract.getDivision();
            TempData["Country"] = extract.getCountry();
            aa.StaffId=(Convert.ToInt16(search));
            return PartialView("ViewUserControl1",aa);

        }
   [HttpPost]
   public ActionResult BlankEditorRow(HRInfo ob)
   {
     extract.SaveEdu(ob);
    }

我可以一次获得一个值,即一旦它工作正常就调用局部视图。但是当我必须从两个或多个局部视图中获取值时它不起作用。是否有任何获取多个数据的方法马上?

2 个答案:

答案 0 :(得分:0)

我在我的一些代码中使用它,希望它可以提供帮助:

@Html.TextBox(Model.ID + ".Country", Model.Country)
...

所以当我想从多个值中获取值时,只需使用UpdateModel(myModel,Model.ID.ToString())。

这就是你需要的吗?

答案 1 :(得分:0)

我改用另一种方法。

Link 我按照这个链接,我正在使用帮助程序从动态添加的控件中获取数据。