2016-09-06 72 views
-2

控制器上的按钮后访问列表:保存列表值回,它被清除,当我尝试每次点击MVC

​​

型号:

public int EmployeeID { get; set; } 
[Required(ErrorMessage = "Please Enter Skill")] 
public string SkillName { get; set; } 
[Display(Name = "Experience (In Months)")] 
[Required(ErrorMessage = "Please Enter Experience(In Months)")] 
public Nullable<byte> ExperienceInMonths { get; set; } 
public string CreatedBy { get; set; } 
public Nullable<System.DateTime> CreatedDate { get; set; } 
public string ModifiedBy { get; set; } 
public Nullable<System.DateTime> ModifiedDate { get; set; } 
public Nullable<bool> IsActive { get; set; } 

public virtual EmployeeDetail EmployeeDetail { get; set; } 

查看:

model IEnumerable<CISSEC.Models.EmployeeSkill> 
<table class="table"> 
    <tr> 
     <th> @Html.DisplayNameFor(model => model.SkillName) </th> 
     <th> @Html.DisplayNameFor(model => model.ExperienceInMonths)</th> 
    </tr> 
    @foreach (var item in Model) { 
     <tr> 
      <td> @Html.DisplayFor(modelItem => item.SkillName) </td> 
      <td> @Html.DisplayFor(modelItem => item.ExperienceInMonths) </td> 
    </tr> 
    } 
</table> 
+0

请向我们展示如何将列表渲染到您要提交的'

'。 –

+0

{模型的IEnumerable <表类= “表”> @ Html.DisplayNameFor(型号=> model.SkillName) @ Html.DisplayNameFor(型号= > model.ExperienceInMonths)在模型 @foreach(VAR项) { ​​ @ Html.DisplayFor(modelItem => item.SkillName) ​​ @ Html.DisplayFor(modelItem => item.ExperienceInMonths) } – Kcruzz

回答

0

由于您没有为列表项的属性渲染<input>元素,因此您的列表未被回发。使用HiddenFor来渲染输入。使用for循环,以便模型绑定器接收列表项的正确索引。

@for (var i = 0; i < Model.Count(); i++) { 
     <tr> 
      <td> @Html.HiddenFor(m => m[i].SkillName) </td> 
      <td> @Html.HiddenFor(m=> m[i].ExperienceInMonths) </td> 
    </tr> 
} 
相关问题