如何在操作时向用户显示错误/结果消息
本文关键字:错误 显示 结果 消息 用户 操作 | 更新日期: 2023-09-27 18:19:20
我在一个应用程序上工作了一段时间,出现了一个小问题。
我想知道如何在用户执行任何操作时显示错误/结果。
到目前为止,我是这样处理一个例子的:
if(itemID == null)
{
ViewData["ErrorMessage"] = "The ID provided provoked an error. Please try again. If the problem persist, contact your local administrator.";
}
一些非常简单的东西…如果我们认为用户保持在同一个视图中。或者有很多地方,我必须使用RedirectToAction("Action")
来预测用户,然后刷新ViewData。
所以我问任何MVC"明智的主人"在那里:你有一个有效的,可重用的方式显示消息,可能是在任何格式?你能简单地解释一下你会怎么做吗?
谢谢!
如果出现错误,一般情况下,用户应该保持在相同的视图中,而不是被重定向。这样他们就可以纠正错误,然后再试一次。你可以这样写:
if(itemID == null)
{
ViewData["ErrorMessage"] = "The ID provided provoked an error. Please try again. If the problem persist, contact your local administrator.";
return View(); // you probably have a model to include as well
}
else
{
// perform your action
return RedirectToAction("some action");
}
毕竟,只要看看您显示的错误消息:
提供的ID引发错误。请重试。如果问题仍然存在,请联系本地管理员。
您也可以考虑使用像TempData
这样的东西,它在使用之前不会被刷新。也许像这样:
if(itemID == null)
{
TempData["ErrorMessage"] = "The ID provided provoked an error. Please try again. If the problem persist, contact your local administrator.";
}
这将在重定向中持续存在,直到请求之后才可用。所以即使你发送用户通过一些复杂的重定向系列,当视图最终呈现并检查TempData["ErrorMessage"]
中的值时,它仍然会在那里。