删除功能在MVC应用程序中不起作用 - 不从DB中删除?

时间:2016-08-28 17:20:15

标签: asp.net-mvc-5

我试图在我的应用程序中创建一个删除功能,用户应该能够从表中删除产品,但是当用户按下删除按钮时,错误消息" InvalidOperationException:无法删除未附加的实体"过来。我无法弄清问题是什么,因为它获得了用户想要删除的产品(并在视图中显示)但是当它出现在HttpPost方法中时,(当用户通过按下删除按钮确认他想要删除此产品时),出现错误消息...所有其他方法仅工作(创建,编辑,列出...)删除方法没有。如果有人可以帮助我,我真的很感激。 这是我的代码:

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

   }

这是productRepository类的代码...      公共产品DeleteProduct(产品)        {            db = new NorthwindDataContext();            db.Products.DeleteOnSubmit(产品);            db.SubmitChanges();            退货;        }

public Uri getImageUri(Context inContext, Bitmap inImage) {
    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
    String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
    Uri storeUri = Uri.parse(path);
    File file = new File(path);
    Boolean b=file.delete();
    Log.d("DeletepathStoreUri",b.toString());
    inImage.recycle();
    return storeUri;
}

1 个答案:

答案 0 :(得分:0)

只需在删除操作

中传递产品的ID即可
  [HttpPost]
   public ActionResult DeleteConfirmed(int id)
     {

         Product_Table Ptobj = db.Product_Table.find(id);
         db.Product_Table.remove(Ptobj);
         db.savechanges()
     }