3

MVC を使用していくつかのサイトをゼロから作成しましたが、現在は移行プロジェクトを担当しています。

現在、サイトには大きな静的ファイル ベース (*.html) があります。最終的には、すべてのページがビューとコントローラーを備えた MVC に移行されます。このサイトは、ネストされたフォルダーがほとんどなく、各フォルダーに複数のページがあるため、変換に非常に適しています. これはかなり簡単な作業です。ただし、ビジネス上、これはフォルダーごとに段階的に行う必要があります。各フォルダーは自己完結型であり、他のフォルダーへのリンクはほとんどないため、これで問題ありません。

私の質問は、既存のサイト全体をlegacy_htmlVS プロジェクトで名前が付けられたフォルダーにインポートしてから、このフォルダーを基本的に無視するようにルーティングを構成し、ユーザーの現在のサイト ナビゲーションを保持することはできますか?

各フォルダーを移行すると、そのフォルダーは legacy_html から削除され、コントローラーとビューが作成されます。

私が尋ねる理由は、多くのルート レベル フォルダーがあり、最終的にそれらがすべてコントローラーとビューに移行されることを考えると、それらがプロジェクトを散らかして私の邪魔になりたくないからです。私の目標は、最後に荷物のないきれいな MVC フォルダー構造になることです。

レガシー コードの編成をサポートする ASP.NET MVC MapPageRoute を使用したワイルドカードと同様ですが、最近の MVC での開発速度を考えると、答えが改善されたかどうかを知りたいです。

4

1 に答える 1

0

"レガシー" アプリケーションの URL を RouteHandler で処理する必要がない限り、これを行う最も簡単なRegisterRoutes方法は、Global.asax のメソッドに無視ルートを追加することです。

 routes.IgnoreRoute("{*html}", new {html=@".*\.html(/.*)?"});

これにより、HTML ページへのリクエストがルート処理を「通過」し、物理ファイルを探しに行くようになります。

出典:ハッキング

于 2012-07-23T10:57:07.897 に答える