2016-10-04 6 views
1

TempDataの成功/エラーメッセージを一元管理する最良の方法は何ですか?ほぼすべてのコントローラメソッドは、このようなビューにTempDataをして成功/エラーメッセージが返されます。この時点では

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

私はアプリケーション内のどこからでも呼び出し可能である簡単な方法のどこかに、この機能を一元化したいです(コントローラ)、これを再利用できる方法に集中させる最良の方法は何ですか?

答えて

1

コントローラの拡張機能を作成できます。静的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"; 
    } 
    } 

は、その後、あなたのアクションメソッド

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

にあなたにもパラメータとして成功し、エラーメッセージを渡すことができます。 (しかし、私は個人的にこれが不要だと思って、あなたのTempDataをあなたのActionMethodsに入れておくべきです)

関連する問題