[英]MVC Update Details Controller
我有這個卡車維護計划系統,現在這是我的更新卡車詳細信息控制器,在更新它時,我還必須更新卡車的當前運行,而卡車的當前運行將轉到最后一個運行? 我很難弄清楚。 這是我的代碼:
public ActionResult UpdateTruck(TruckDetails u, int id)
{
var updateTruck = db.trucks.FirstOrDefault(s => s.id == id);
if (updateTruck == null)
return View(u);
var lastrun = db.trucks.Select( s => s.current_run); // This is my problem, getting the current run value from the database
updateTruck.registration_no = u.reg_no;
updateTruck.make = u.make;
updateTruck.model = u.model;
updateTruck.engine_no = u.engine_no;
updateTruck.chassis_no = u.chassis_no;
updateTruck.driver_name = u.driver_name;
updateTruck.driver_no = u.driver_no;
updateTruck.is_updated = DateTime.Now;
updateTruck.current_run = u.current_run;
updateTruck.last_run = lastrun;
if (ModelState.IsValid)
{
db.SaveChanges();
return View(u);
}
return View(u);
}
先感謝您
從數據庫中獲取實體后,只需設置lastrun = updateTruck.current_run
public ActionResult UpdateTruck(TruckDetails u, int id) {
var updateTruck = db.trucks.FirstOrDefault(s => s.id == id);
if (updateTruck == null)
return View(u);
var lastrun = updateTruck.current_run;
updateTruck.registration_no = u.reg_no;
updateTruck.make = u.make;
updateTruck.model = u.model;
updateTruck.engine_no = u.engine_no;
updateTruck.chassis_no = u.chassis_no;
updateTruck.driver_name = u.driver_name;
updateTruck.driver_no = u.driver_no;
updateTruck.is_updated = DateTime.Now;
updateTruck.current_run = u.current_run;
updateTruck.last_run = lastrun;
if (ModelState.IsValid)
{
db.SaveChanges();
return View(u);
}
return View(u);
}
FWIW我可能會整理一下代碼。 您正在接受操作中的int id
參數,但是如果出現問題,則永遠不要將其傳遞回視圖,因此,我假設id應該在您的TruckDetails模型上,因此您應該使用它或添加它那里。 如果您的ModelState無效,您還想跳過所有其他代碼
public ActionResult UpdateTruck(TruckDetails u)
{
if (u != null && ModelState.IsValid)
{
var updateTruck = db.trucks.FirstOrDefault(s => s.id == u.id);
if (updateTruck != null)
{
var lastrun = updateTruck.current_run;
updateTruck.registration_no = u.reg_no;
updateTruck.make = u.make;
updateTruck.model = u.model;
updateTruck.engine_no = u.engine_no;
updateTruck.chassis_no = u.chassis_no;
updateTruck.driver_name = u.driver_name;
updateTruck.driver_no = u.driver_no;
updateTruck.is_updated = DateTime.Now;
updateTruck.current_run = u.current_run;
updateTruck.last_run = lastrun;
db.SaveChanges();
}
}
return View(u);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.