私の最初の実際の MVC アプリケーションでは、ほぼすべてのページでこれに遭遇しています。私は何かが欠けていると確信しています。
私が現在扱っている例:
ページには、複数のドロップダウン (フィルター) とグリッドがあります。フィルターを設定するかみそりのコードと、最初にデータのビュー モデルを使用するグリッドがあります。すべてが順調で、コードはクリーンで、ページは完全に読み込まれます。
ここで、別のフィルター オプションを選択すると、他のドロップダウンの一部が変更される可能性があり、グリッド内のデータが確実に変更されます。そのため、新しいデータを取得するために、コントローラー メソッドの 1 つに ajax 呼び出しを行っています。次に、変更されたドロップダウンとともに JS でグリッドを再構築する必要があります。これは、最初のページ読み込みで Razor コードが行うことを複製しているだけです。
Razor でクラスや属性などを追加した場合、これも JS で複製する必要があります。
私が見逃しているパターンがあるはずです。この時点で、更新が ajax で動的に行われるかどうかは気にしません。「ポストバック」を使用してRazorですべてを実行できれば、それで問題ありません。この大規模なコードの重複を避けるためのもの。