Asp.net mvc 在回发期间保存列表值,每次在MVC中单击按钮后尝试访问列表时,该值将被清除

Asp.net mvc 在回发期间保存列表值,每次在MVC中单击按钮后尝试访问列表时,该值将被清除,asp.net-mvc,Asp.net Mvc,控制器: List<EmployeeSkill> emp = new List<EmployeeSkill>(); public ActionResult viewskills(EmployeeSkill objskillset) { emp .Add(objskillset); return PartialView("_SkillListPartial", objskillset); } model IEnumerable<CISSEC.Mode

控制器:

List<EmployeeSkill> emp = new List<EmployeeSkill>();
public ActionResult viewskills(EmployeeSkill objskillset)
{
    emp .Add(objskillset);
    return PartialView("_SkillListPartial", objskillset);
}
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>
List emp=new List();
公共行动结果视图技能(EmployeeSkill objskillset)
{
emp.Add(objskillset);
返回PartialView(“_skilllistportial”,objskillset);
}
型号:

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; }
public int-EmployeeID{get;set;}
[必需(ErrorMessage=“请输入技能”)]
公共字符串SkillName{get;set;}
[显示(Name=“经验(月)”)]
[必需(ErrorMessage=“请输入经验(以月为单位)”)]
公共可为空的经验数{get;set;}
通过{get;set;}创建的公共字符串
公共可为空的CreatedDate{get;set;}
公共字符串由{get;set;}修改
公共可为空的ModifiedDate{get;set;}
公共可空IsActive{get;set;}
公共虚拟EmployeeDetail EmployeeDetail{get;set;}
查看:

List<EmployeeSkill> emp = new List<EmployeeSkill>();
public ActionResult viewskills(EmployeeSkill objskillset)
{
    emp .Add(objskillset);
    return PartialView("_SkillListPartial", objskillset);
}
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>
模型IEnumerable
@DisplayNameFor(model=>model.SkillName)
@DisplayNameFor(model=>model.experienceInMonts)
@foreach(模型中的变量项){
@DisplayFor(modelItem=>item.SkillName)
@DisplayFor(modelItem=>item.ExperienceInMonths)
} 

您的列表不会回发,因为您没有为列表项的属性呈现
元素。使用
HiddenFor
呈现输入。使用
for
循环,以便modelbinder接收列表项的正确索引

@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> 
} 
(var i=0;i@for @Html.HiddenFor(m=>m[i].SkillName) @Html.HiddenFor(m=>m[i].ExperienceInMonts) }
请说明如何将列表呈现到您提交的
中。{model IEnumerable@Html.DisplayNameFor(model=>model.SkillName)@Html.DisplayNameFor(model=>model.ExperienceInMonths)@foreach(模型中的变量项){@Html.DisplayFor(modelItem=>item.SkillName)@Html.DisplayFor(modelItem=>item.ExperienceInMonths)}