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)}