【发布时间】:2016-06-27 11:11:00
【问题描述】:
我有这个 POST 操作结果,它接收两个模型,一个来自主视图,另一个来自局部视图 来自主视图的模型很好,因为它一次只会发布一条记录问题出在我 POST 方法从部分视图接收的模型上,因为它一次发送多条记录,我的问题是如何循环通过来自部分视图的模型,以便我可以保存所有记录而不仅仅是一个 这是我的代码
[HttpPost]
public ActionResult Test(ViewModels model)
{
var pecEquipmentRequest = new PECEquipmentRequest()
{
ProjectId = model.ModeleEquipmentSpViewModel.ProjectId,
JobNo = model.ModeleEquipmentSpViewModel.JobNo,
RequestDate = model.ModeleEquipmentSpViewModel.RequestDate
};
db.PECEquipmentRequests.Add(pecEquipmentRequest);
db.SaveChanges();
//foreach (int items in model.ModelEquipmentRequestResult[0].Id.ToString())
//{
// }
var pecEquipmentRequestDetail = new PECEquipmentRequestDetail()
{
EquipmentRequestId = pecEquipmentRequest.Id,
EquipmentId = model.ModelEquipmentRequestResult[0].Id,
Planned = model.ModelEquipmentRequestResult[0].Planned,
Actual = model.ModelEquipmentRequestResult[0].Actual,
// Remarks = model.ModeleEquipmentSpViewModel.Remarks
};
db.PECEquipmentRequestDetails.Add(pecEquipmentRequestDetail);
db.SaveChanges();
return RedirectToAction("Index", "Home");
}
此部分需要循环
var pecEquipmentRequestDetail = new PECEquipmentRequestDetail()
{
EquipmentRequestId = pecEquipmentRequest.Id,
EquipmentId = model.ModelEquipmentRequestResult[0].Id,
Planned = model.ModelEquipmentRequestResult[0].Planned,
Actual = model.ModelEquipmentRequestResult[0].Actual,
// Remarks = model.ModeleEquipmentSpViewModel.Remarks
};
db.PECEquipmentRequestDetails.Add(pecEquipmentRequestDetail);
db.SaveChanges();
更新
ModelEquipmentRequestResult 属性是 List<EquipmentRequest_Result>。
我的 ViewModel 类是:
public class ViewModels
{
public EquipmentSpViewModel ModeleEquipmentSpViewModel { get; set; }
public List<EquipmentRequest_Result> ModelEquipmentRequestResult { get; set; }
}
【问题讨论】:
-
你需要展示你的模型和视图(如果你使用部分,它不太可能会正确绑定,除非你通过
HtmlFieldPrefix) -
ViewModels类对象是什么样的,请分享该代码。 -
@DavidPine 请立即查看
标签: c# asp.net-mvc for-loop foreach