我需要編輯數據庫中的記錄。我認爲我做得不夠好。我試過使代碼縮短dev = newDev;
,但它沒有保存它。爲什麼model = newModel不起作用,但model.title = newModel.title的作品?
代碼
[HttpPost]
[ValidateInput(false)]
public ActionResult Edit(Dev newDev)
{
try
{
if (TryUpdateModel(newDev) == true)
{
var dev = _db.Devs.Where(x => x.ID == newDev.ID).Single();
dev.Title = newDev.Title;
dev.Body = newDev.Body;
dev.Tags = newDev.Tags;
dev.Image1 = newDev.Image1;
dev.Image2 = newDev.Image2;
dev.Image3 = newDev.Image3;
dev.Image4 = newDev.Image4;
_db.SubmitChanges();
return RedirectToAction("");
}
else
{
return Content("Fail.");
}
}
catch
{
return View();
}
}
你能在這裏幫我優化我的代碼?
你想完成什麼? – drdwilcox
請提供更多詳細信息,並給我們一個完整的工作代碼示例,包括保存到您的上下文中。例如,'newModel'來自哪裏?你在使用實體框架嗎? –
model = newModel肯定有效。但是也許你正在用一種方法來執行這個操作,並期望這種改變也會出現在調用改變的方法中。在這種情況下,它將無法工作。如果你想能夠做到這一點,你必須通過引用傳遞變量(void methodName(ref Model model))。 –