gpt4 book ai didi

c# - 未绑定(bind)模型项时如何添加 ModelState.AddModelError 消息

转载 作者:IT王子 更新时间:2023-10-29 04:26:31 24 4
gpt4 key购买 nike

我是 MVC4 的新手。在这里,我添加了 ModelState.AddModelError 消息以在无法执行删除操作时显示。

  <td>
<a id="aaa" href="@Url.Action("Delete", "Shopping", new { id = Request.QueryString["UserID"], productid = item.ProductID })" style="text-decoration:none">
<img alt="removeitem" style="vertical-align: middle;" height="17px" src="~/Images/remove.png" title="remove" id="imgRemove" />
</a>
@Html.ValidationMessage("CustomError")
</td>
@Html.ValidationSummary(true)


在我的 Controller 中

public ActionResult Delete(string id, string productid)
{
int records = DeleteItem(id,productid);
if (records > 0)
{
ModelState.AddModelError("CustomError", "The item is removed from your cart");
return RedirectToAction("Index1", "Shopping");
}
else
{
ModelState.AddModelError(string.Empty,"The item cannot be removed");
return View("Index1");
}
}

这里我没有通过 View 中的任何模型项目来检查模型中的项目,我无法获得 ModelState 错误消息..
任何建议

最佳答案

ModelState 是在每次请求时创建的,因此您应该使用 TempData

public ActionResult Delete(string id, string productid)
{
int records = DeleteItem(id,productid);
if (records > 0)
{
// since you are redirecting store the error message in TempData
TempData["CustomError"] = "The item is removed from your cart";
return RedirectToAction("Index1", "Shopping");
}
else
{
ModelState.AddModelError(string.Empty,"The item cannot be removed");
return View("Index1");
}
}

public ActionResult Index1()
{
// check if TempData contains some error message and if yes add to the model state.
if(TempData["CustomError"] != null)
{
ModelState.AddModelError(string.Empty, TempData["CustomError"].ToString());
}

return View();
}

关于c# - 未绑定(bind)模型项时如何添加 ModelState.AddModelError 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12936604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com