0

リストオブジェクトが選択され、編集されてからリストにリダイレクトされるという問題が発生していますが、オブジェクトはリストで更新されたことを示していません。編集したオブジェクトの詳細ビューが選択されている場合、オブジェクトへの編集は保存されています。加えられた変更を更新するためのリストが必要です。

これは、「インデックス」ビューのリストを生成するメソッドです。

public static List<MortgageCancellation> DealerSorting(string id,string dealerId)
    {
        var d = from u in db.MortgageCancellations
                where u.DealerID == dealerId
                select u;
        switch (id)
        {
            case "DealID":
                return d.OrderBy(u => u.DealID).ToList();
            case "PrimaryFirstName":
                return d.OrderBy(u => u.PrimaryFirstName).ToList();
            case "PrimaryLastName":
                return d.OrderBy(u => u.PrimaryLastName).ToList();
            case "DateOfApplication":
                return d.OrderBy(u => u.DateOfApplication).ToList();
            case "ProfileStatus":
                return d.OrderBy(u => u.ProfileStatus).ToList();
            case "CurrentStep":
                return d.OrderByDescending(u => u.CurrentStep).ToList();
            case "LastUpdated":
                return d.OrderByDescending(u => u.LastUpdated).ToList();
            default:
                return d.ToList();
        }
    }

ここで編集が行われ、変更が保存されていることがわかります。

public ActionResult Edit(MortgageCancellation mortgagecancellation)
    {
        try
        {
            if (ModelState.IsValid)
            {
                mortgagecancellation.DateOfApplication = (DateTime?)Session["appDate"];
                Session.Remove("appDate");
                mortgagecancellation.LastUpdated = DateTime.Now;
                db.Entry(mortgagecancellation).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(mortgagecancellation);
        }
        catch (Exception ex)
        {
            SupportEmail se = new SupportEmail(error, ex);
            SupportEmail.SendSupportEmail(se);
            return View("Error");
        }
    }

これが「インデックス」ビューから呼び出される唯一のメソッドであるため、「インデックス」ビューに行われた変更が表示されない理由がわかりません。

return View(MortgageCancellation.OfficeSorting(id));

もう1つ、リストには最終的に変更が表示されますが、リストに変更をすぐに表示する必要があります。

これは、dbが初期化される場所です。

private static MyDBContext db = new MyDBContext();
4

1 に答える 1

1

交換してみてください

private static MyDBContext db = new MyDBContext();

とともに

using(var db = new MyDBContext())
{
    ...code..
}

アクションごとに。

于 2012-09-21T22:41:25.877 に答える