Если вы используете строго типизированные представления, попытались ли вы:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Delete(int id, Product productToDelete)
{
try
{
var res = (from r in data.Products where r.ProductID == id select r).FirstOrDefault();
data.Products.DeleteObject(res);
data.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
... или если вы не используете строго типизированные представления:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Delete(int id, FormCollection collection)
{
try
{
var res = (from r in data.Products where r.ProductID == id select r).FirstOrDefault();
data.Products.DeleteObject(res);
data.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
В любом случае,вам нужно предоставить параметр id
, который вы затем сможете использовать для получения вашего объекта из хранилища данных.Маршрутное сопоставление по умолчанию в MVC2 (в Global.asax.cs) берет идентификатор из URL-адреса записи и сопоставляет его с этим параметром.