私のビューに私は従業員のリストとそれぞれの横にチェックボックスを持っています。 ユーザーは1人以上の従業員を選択し、[submit]をクリックすると、次のページに移動し、選択した各従業員の詳細が表示されます。 従業員番号のリストをあるコントローラから次のコントローラに送信したいと考えています。 これを行う方法の1つは、セッションオブジェクトを使用することです。しかし、それは最善の方法ですか?1つのコントローラから別のコントローラへのパラメータのリストを渡す最善の方法
答えて
これは、別のコントローラにパラメータを送信するビューを持つ代わりに考えてください。この場合は、従業員リストビューから詳細コントローラに転送されます。選択した従業員IDを詳細コントローラのメソッドに送信するように、リストビューのフォームを変更します。詳細コントローラでは、特定の従業員IDごとに必要な詳細をデータベースに問い合わせることができます
これは反パターンです。ビューは、どこに投稿するかを決めるべきではありません。あなたは非常に迅速にこれを行う問題にそれを実行します。例:モデルが無効であるとします。リクエストがどこから来たのかを把握し、正しいViewResultを返す必要があります。 –
申し訳ありませんが、私は同意しません。これはビジュアルスタジオの自動生成コードが –
を取るというアプローチです。リーは彼の答えを削除しました。なぜ私はその理由がわかりません。私はあなたの答えが働いていると思うし、問題はそれが良い技術かどうかです。私はリーの議論の論理をそれがそうではないと見ることができますが、あなたの解決策が一般的な慣行であるのならば、それはおそらく良い議論かもしれません。 – arame3333
従業員を渡す代わりに、選択した従業員IDのリストを詳細コントローラにPOSTしてから、リポジトリから対応する詳細を取得することができます。
私はあなたがこれを行うことができるとは思わない。デフォルトでは、POSTからリダイレクト経由でGETにリスト/配列を渡すことはできません。 –
さて、IDをコンマで区切ったパラメータとして渡し、カスタムモデルのバインダを使用するか、GETまたはPOST要求を詳細を示す最終アクションに送信するようにフォームに直接指示することができます。この方法では、再度リダイレクトする必要はありません。 –
- 1. 1つのコントローラから別のコントローラへデータを渡すSpring DI
- 2. あるコントローラから別のコントローラへパラメータを渡すAngularJS
- 3. spring mvcのあるコントローラから別のコントローラへLISTを渡す方法
- 4. 1つのコントローラの名前を別のコントローラに渡す方法ASP.NET MVC 5
- 5. Angularjsは1つのコントローラから他のコントローラへチェックボックスの値を渡します
- 6. ember.JSの1つのコントローラから別のコントローラにアクションとデータを渡します。
- 7. あるコントローラから別のコントローラへのエラーメッセージの受け渡し
- 8. あるコントローラから別のコントローラへオブジェクトを渡すAngularJS
- 9. Rails:別のコントローラの1つのコントローラのリストを表示
- 10. Laravel - 1つのコントローラで別のコントローラを実行する方法
- 11. 1つのコントローラから別のコントローラへアレイを共有するには
- 12. 1つのビューコントローラから別のコントローラにデータを渡す
- 13. 1つのコントローラから別のng-appファイルのidに渡す
- 14. 1つのコントローラから別のコントローラへの角度情報のパス
- 15. mvcのjqueryからコントローラのリストを別のリストに渡す
- 16. 別のコントローラから1つのコントローラのテキストエリアにアクセスするJavaFX
- 17. Railsのビューからコントローラへのリファクタリングのパラメータを渡します。
- 18. コントローラからモデルへas_jsonに余分なパラメータを渡す方法
- 19. ASP.NET MVC - 別のコントローラのアクションにパラメータを渡す方法
- 20. codeIgniterのコントローラにパラメータを渡す方法
- 21. ZF:1つのコントローラから1つのコントローラへのhttp要求が
- 22. node.jsのコントローラから複数のパラメータを渡す方法
- 23. laravelのあるコントローラから別のコントローラに変数を渡す方法
- 24. MVC3コントローラからコントローラへデータを渡す方法
- 25. コントローラから他のページの別のコントローラに値を渡す - AngularJS
- 26. 2つのコントローラ間のパラメータを渡す
- 27. コントローラから別のコントローラへのデータへのアクセス
- 28. ルートからコントローラへのパラメータをlaravelで渡しますか?
- 29. laravelのモデルからコントローラへフォームの値を渡す方法
- 30. モデルからコントローラ(Mongoose)へのエラーメッセージのみを渡す方法は?
これは、ASP.NET MVCですぐに使用できます。同じ名前のチェックボックスのリストを出すだけで、受け取るアクションはIDの列挙可能なものになります。 – bzlm