【发布时间】:2017-01-05 14:58:05
【问题描述】:
我需要将 ChapterObject 添加到 CourceModel 中的列表,但我不知道为什么值 ChapterObject 没有分配给当前实体。
我尝试了,但这不起作用。
我的第一个方法。
[HttpGet]
public ActionResult CreateChapter(CourceModel courceModel)
{
var chapterObject = new ChapterObject();
_db.CourceModels.Find(courceModel.Id).ChapterObjects.Add(chapterObject);
_db.Entry(chapterObject).State = EntityState.Modified;
return View(chapterObject);
}
[HttpPost]
public ActionResult CreateChapter(ChapterObject chapterObject)
{
_db.Entry(chapterObject).State = EntityState.Detached;
_db.SaveChanges();
return RedirectToAction("Index");
}
第二种方法
我正在尝试创建字段 _courceModelId 并在 Get 方法中添加值,但是当我调用 Post 方法时 _courceModelId = 0。我想什么处置删除 _courceModelId 值并且我正在创建新标志 _isUptdated,但这不是也可以工作。
private int _courceModelId;
private bool _isUptdated;
[HttpGet]
public ActionResult CreateChapter(CourceModel courceModel)
{
_courceModelId = courceModel.Id;
_isUptdated = true;
var chapterObject = new ChapterObject();
return View(chapterObject);
}
[HttpPost]
public ActionResult CreateChapter(ChapterObject chapterObject)
{
//why _courceModelId = 0?
_db.CourceModels.Find(_courceModelId).ChapterObjects.Add(chapterObject);
_db.SaveChanges();
_isUpdate = false;
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
if(_isUptdated) return;
if (disposing)
{
_db.Dispose();
}
base.Dispose(disposing);
}
【问题讨论】:
-
@Артём-Тищенко 等待您对答案的反馈!
标签: c# asp.net-mvc controller