これは私たちのふりかえりの際に出てきたもので、追加のフィードバックとスポット チェックが必要でした。現在、ブール値フラグに基づいて有効/無効にするビューが多数あります (Model.IsNew は一例です)。私は、ビューはできるだけ単純であるべきであり、コントローラーはそのビューのデータを決定するべきであり、必ずしもそれがどのように機能するかではないと考えています。部分的または完全なビューは、何をすべきか、何を表示/非表示にするかを決定するビューに対して処理する必要があると思います。非常に基本的な例は次のようになりますが、これの両方の側面をカバーし、主に私たちが持っているものを反映しています...
コントローラーには、Details と呼ばれる一対のメソッド (post/get) があります。[Get]Details には 1 つのパラメータ Id があり、[Post]Details には id とビューモデルがあります。投稿内では、メソッドは有効なモデルをチェックし、新しいかどうかを判断し、特定の値が変更されたかどうか (リダイレクトをトリガーする) など (これは正しくないと思います) までの 30 行の長さです。[Get]Details で空の ID をチェックし、必要なドロップダウンを設定しますが、特別なことは何もありません (これは正しいと思います)。詳細ビュー自体には、少しのロジックが含まれています: If (!Model.IsNew) { RenderAction(History => History.Show(id); } (これは if 内で間違っていると思います。Show は何を表示するかを知っている必要があります。新しいかどうかに関係なく). これに加えて、詳細ビューのレイアウトが 2 回行われないことです. 詳細/追加はほぼ同じです,
考え、意見、洞察?