1

ASP.NET MVC3 Razor アプリケーションが大きくなりすぎて効果的に管理できなくなりました。コードをより適切に制御するために、エリアを実装し、コードをそれぞれのエリアに配置し直しました。

複数の領域から使用されるものは、「通常の」コントローラ フォルダに残されます。

エリアから Action または ActionLink を使用するとすぐに問題が発生します。リンクを機能させるには、「area = ""」というルーティング パラメータを手動で含める必要があります。

変更するリンクがたくさんあるので、必要なコントローラーを見つけるために、コントローラーの選択を「ルート」コントローラーにフォールバックさせようとしました。私はこれまで運がありませんでした。

MVC3 がエリア コントローラーを検索し、コントローラーが見つからない場合にルート コントローラー フォルダーで検索を続行できるようにするには、どうすればよいですか?

ありがとうアンドレアス

4

1 に答える 1

0

これを行うには、ルートを適切に設定します。

各エリアには独自のルート サプライヤーがあり、global.ascx にルートがあります。ルートは、最初にエリア内のルートを見つけようとするケース ステートメントのようなもので、一致するルートが見つからない場合は、global.ascx ルートにフォールスルーします。

したがって、新しいエリアでキャッチオール ルートを設定し、global.ascx でキャッチオール ルートを設定すれば問題ありません。

Haack のルート デバッガーを使用して、ルートで何が起こっているかを確認できます。

于 2011-09-14T12:17:45.133 に答える