集中TempData成功/错误消息的最佳方法是什么?

本文关键字:最佳 方法 是什么 消息 TempData 成功 错误 集中 | 更新日期: 2023-09-27 18:11:26

目前,几乎每个控制器方法都将返回成功/错误消息与TempData给视图,如下所示:

if (result) {
    TempData["messageSuccess"] = "Some nice success message";
} else {
    TempData["messageError"] = "Some nice error message";
}

我想把这个功能集中在一个简单的方法中的某个地方,这个方法可以从应用程序(控制器)的任何地方调用,所以把它集中到一个可以重用的方法中最好的方法是什么?

集中TempData成功/错误消息的最佳方法是什么?

可以为控制器创建扩展。在您的静态UtilityClass中添加以下方法。

  public static void SetTempDataMessages(this Controller controller, bool result)
  {
     if (result) 
     {
        controller.TempData["messageSuccess"] = "Some nice success message";
     } 
     else 
     {
        controller.TempData["messageError"] = "Some nice error message";
     }
  }

然后在你的action方法

public ActionResult Index()
{
    var result = true;
    this.SetTempDataMessages(result);
    return View();
}

也可以将成功和错误消息作为参数传递。(但我个人认为这是不必要的,你应该保持你的TempData在你的ActionMethods)