0

我需要在控制器中的删除操作期间执行验证。ASP.net MVC3 有什么可以帮助进行这种类型的验证吗?我知道您可以使用属性来处理编辑验证,但删除呢?

例如,我需要检查实体对象的状态,如果满足某个条件,则不允许删除它们。检查和显示错误的最佳方法是什么

4

1 回答 1

1

您可以让您的删除操作如下所示,您可以通过像下面的示例中的方法CanThiBeDeleted()那样进行调用来检查您的条件,如果没有,那么您可以将错误添加到模型状态并将其发送回视图,将显示此错误消息的位置。

public ActionResult Delete(string id)
{
    if(!_service.CanThisBeDeleted(id))
    {
        ModelState.AddModelError("", "Sorry this cannot be deleted !");
        return View();
    }

    bool isItemDeleted = false;
    isItemDeleted = _service.DeleteItem(id);

    if(isItemDeleted)
    {
        // if deleted send where you want user to go.
        return RedirectToAction("Index");
    }
    else
    {
        ModelState.AddModelError("", "Delete operation failed.");
        return View();
    }
}

您的视图可以@Html.ValidationSummary用来显示您想要显示的错误/警告。

于 2012-11-01T06:32:29.543 回答