2009-04-02 10 views
5

私たちはデータを編集するための編集ビューを持っており、編集結果をユーザーに知らせたいとします。実際にモデルに正常に保存されたことを確認します。ASP.NET MVCでユーザーにアクション「成功」フィードバックを提供するにはどうすればよいですか?

解決策の1つは、コントローラの編集アクションメソッドでViewDataにメッセージを割り当て、次にそのビューを使用してメッセージをユーザーに表示することです。

ViewData["EditResult"] = "All is well in the world."; 

...とどこかビューで:編集コントローラのアクションメソッドでは

<%= ViewData["EditResult"] %> 

これは素晴らしく、簡単ですが、これは、コントローラからのフィードバックを提供するための最良の方法です見る?私はコントローラにプレゼンテーションタイプのものを置くことに境界線を置いているように思われるので、いくつかの他の選択肢は何ですか?

答えて

1

非常に簡単なアプローチは、モデルデータの一部としてビューにブール値またはその他のステータスフラグを渡すことです。ビューは、その情報を適切なものとして表示することができます。

また、それぞれのケースで完全に異なるコンテンツをレンダリングすることが非常にうまくいくかもしれないので、成功と失敗のビューを別々にすることを検討することをお勧めします。

+0

ありがとうございます。私はあなたの最初の提案を選択し、保存可能な結果を​​示すためにnull許容ブールプロパティをモデルに追加しました。コントローラでは値を設定し、ビューではファイルの後ろにコードを追加したので、ブール値を適切なメッセージに変換する「ResultMessage」というプロパティがあります。 :) – saille

0

通常、特定のモデルの状態を表示するShowアクションがあります。更新が成功すると、そのモデルの特定のインスタンスの表示アクションにリダイレクトされ、更新された情報が表示されます。 「成功」メッセージはありませんが、変更は更新されたモデル状態に反映されます。これは私が通常やっていることです:アクションが成功したことを示すメッセージではなく、アクションの結果をユーザーに示します。

関連する問題