私はすでに問題を修正したので、なぜこれが起こり始めたのかについて私は非常に混乱しています。@Html.HiddenFor(model => model.OrganizationID)
この問題が最初に発生したとき、私はフォームのPOSTアクションを通過していませんでした。私がそれを入れた後-それはうまくいきました。
現在、それは再び機能していません。何かを削除しようとすると、DbUpdateConcurrencyExceptionがスローされます。私の編集ビューは問題なく機能します。
このチュートリアルに従って、モデルファーストアプローチを作成しました。
これらは、私のコントローラーであるOrganizationControllerの削除アクションです。
public ActionResult Delete(int id)
{
using (var db = new VAGTCEntities())
{
return View(db.Organizations.Find(id));
}
}
//
// POST: /Organization/Delete/5
[HttpPost]
public ActionResult Delete(int id, Organization organization)
{
try
{
// TODO: Add delete logic here
using (var db = new VAGTCEntities())
{
db.Entry(organization).State = System.Data.EntityState.Deleted;
db.SaveChanges();
}
return RedirectToAction("Index");
}
catch
{
return View();
}
}
これは私の削除ビューです:
@model VAGTC.Models.Organization
@{
ViewBag.Title = "Delete";
}
<h2>Delete</h2>
<h3>Are you sure you want to delete this?</h3>
<fieldset>
<legend>Organization</legend>
<div class="display-label">
@Html.DisplayNameFor(model => model.Name)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Name)
</div>
</fieldset>
@using (Html.BeginForm()) {
@Html.HiddenFor(model => model.OrganizationID)
<p>
<input type="submit" value="Delete" /> |
@Html.ActionLink("Back to List", "Index")
</p>
}
IDが渡され、実際にPOSTアクションに渡されているかどうかを確認するためにデバッグしました。ここからどこへ行けばいいのかわからない。HiddenFor
私が検索するものは何でも、ステートメントを追加するだけです。