0

我使用 Razor HTML 在 MVC 4 中创建了一个应用程序。我已经建立了一个模型,它有一些属性和我的删除方法,它在下面发布。这种方法非常有效,除了我不希望它允许我在属性之一不是特定数字时删除任何内容。我怎样才能在这种方法中实现它?

public ActionResult Delete(int id = 0)
{
Material material = db.Materials.Find(id);
if(material == null)
{
    return HttpNotFound();
}
return View(material);
}


[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
Material material = db.Materials.Find(id);
db.Materials.Remove(material);
db.SaveChanges();
return RedirecttoAction("Index");
}
4

1 回答 1

2

在您的 get 和 post 操作中,检查该属性并在您检查的属性没有允许的值时返回一个备用的“不允许删除”视图。

public ActionResult Delete(int id = 0)
{

    Material material = db.Materials.Find(id);
    if(material == null)
    {
        return HttpNotFound();
    }
    else if (material.CheckedProperty != AllowableValue)
    {
        return View("DeleteNotAllowed", material);
    }
    return View(material);
}


[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
    Material material = db.Materials.Find(id);
    if (material.CheckedProperty != AllowableValue)
    {
         return View("DeleteNotAllowed", material);
    }

    db.Materials.Remove(material);
    db.SaveChanges();
    return RedirecttoAction("Index");
}
于 2013-03-24T22:04:47.430 回答