如何在操作时向用户显示错误/结果消息

本文关键字:错误 显示 结果 消息 用户 操作 | 更新日期: 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"]中的值时,它仍然会在那里。