2016-08-28 18 views
0

私は自分のアプリケーションでテーブルから製品を削除できるはずだが、ユーザが削除ボタンを押したときにエラーメッセージ "InvalidOperationException:されていないエンティティを削除することはできません添付された "が表示されます。私は問題が何であるか把握することができません。なぜなら、ユーザーが削除したい(ビューに表示する)製品だからですが、HttpPostメソッドを使うと、(この製品を削除することをユーザーが確認すると削除ボタンを押すと、エラーメッセージが表示されます...他のすべてのメソッドは、(削除、削除、リスト作成などの)作業をしません。誰かがこれを手伝ってくれたら本当に感謝しています。 これは私のコードです:MVCアプリケーションで削除機能が動作しません - DBから削除しませんか?

[HttpGet] 
    public ActionResult Delete(int id) 
    { 

     var p= prodRepo.GetProductById(id); 
     return View(p); 

    } 

    [HttpPost] 
    public ActionResult Delete(Product product) 
    { 

     prodRepo.DeleteProduct(product); 
     return RedirectToAction("Index"); 


    } 

これはproductRepositoryクラス... 公衆製品DeleteProduct(プロダクト製品) { デシベル=新しいNorthwindDataContext()からのコードです。 db.Products.DeleteOnSubmit(product); db.SubmitChanges(); 返品商品; }

public Product GetProductById(int id) 
    { 
     db = new NorthwindDataContext(); 
     var prod = (from p in db.Products 
        where p.ProductID==id 
        select p).Single(); 
     return prod; 

    } 

答えて

0

ちょうど削除アクション、製品のIDを渡す

[HttpPost] 
    public ActionResult DeleteConfirmed(int id) 
    { 

     Product_Table Ptobj = db.Product_Table.find(id); 
     db.Product_Table.remove(Ptobj); 
     db.savechanges() 
    } 
関連する問題