0
我在我的控制器中編輯和創建發佈方法,並且除了在我的服務中調用不同的方法之外,它們是相同的。我只是想知道是否有合併這些方法到1的方法可以檢查在路由if語句合併編輯並在mvc中創建post方法爲1
[Route("Project/{projectnumber}/Structures/{structureid}/Carbon/Create")]
[HttpPost]
public ActionResult Create(CarbonViewModel carbonViewModel){
Carbon Carbon = _Mapper.Map<CarbonViewModel, Carbon>(carbonViewModel);
if (!_CarbonService.InsertCarbon(Carbon)) {
return View(carbonViewModel);
}
return RedirectToAction("Edit", new {
projectNumber = carbonViewModel.ProjectNumber,
structureId = carbonViewModel.StructureId
});
}
[Route("Project/{projectnumber}/Structures/{structureid}/Carbon/Edit")]
[HttpPost]
public ActionResult Edit(CarbonViewModel carbonViewModel){
Carbon Carbon = _Mapper.Map<CarbonViewModel, Carbon>(carbonViewModel);
if (!_CarbonService.UpdateCarbon(Carbon)) {
return View(carbonViewModel);
}
return RedirectToAction("Edit", new {
projectNumber = carbonViewModel.ProjectNumber,
structureId = carbonViewModel.StructureId
});
}
你可以只有一個方法,並在表單標籤中指定的操作和控制器名稱。假設你的模型有一個ID屬性,那麼你可以檢查你的創建或編輯是基於ID的值(例如'if(carbonViewModel.ID.HasValue){// update} else {insert}') –