私は最近、クラシック ASP Web アプリケーションを管理するグループに参加しました。私たちのグループのニーズに合わせてうまく機能しています。しかし、私が入社する前に、ASP .Net に移行することが決定されました。私たちはほとんどが ASP 開発者であるため、Classic ASP と同じように (大部分) ASP .Net でコードを記述します。このアプリケーション/プロジェクトに MVC を導入することは可能でしょうか?
ありがとう!
私は最近、クラシック ASP Web アプリケーションを管理するグループに参加しました。私たちのグループのニーズに合わせてうまく機能しています。しかし、私が入社する前に、ASP .Net に移行することが決定されました。私たちはほとんどが ASP 開発者であるため、Classic ASP と同じように (大部分) ASP .Net でコードを記述します。このアプリケーション/プロジェクトに MVC を導入することは可能でしょうか?
ありがとう!
簡単に言えば、可能です。
Scott Hanselman は、このトピックについて以前に書いています。
チームのスキルにもよりますが、スピードを上げるのが難しいと感じるかもしれません.Classic ASPできれいなMVCスタイルのコードを書くことは可能ですが、ほとんどの人はそうではありません.
はい、従来の WebForms プロジェクトで MVC を使用することは可能です。数年前に大規模な WebForms プロジェクトを MVC 2 に移行しました。これが私の調査結果です (MVC 3 を反映するように更新しました)。
Web プロジェクトに次の参照を追加する必要があります。
System.Web.Abstractions、System.Web.Extensions、System.Web.Helpers、System.Web.Mvc、System.Web.Routing
ProjectTypeGuids を変更することで、VS 拡張機能を有効にすることができます。
MVC コンテンツ用に次の標準フォルダーを追加します。
その他の注意事項:
はい。私はプレーンな ASP.NET として開始し、後にいくつかの ASP.NET MVC ページを追加したプロジェクトに取り組みました。最終的に、私たちは MVC を非常に気に入ったので、最終的にすべての WebForms ページを移行して、代わりに MVC を使用するようにしました。しかし、その間ずっと、2 つのシステムは非常にうまく連携していました。
これが私が覚えている唯一の実際の落とし穴です: WebForms は、ページ全体を大きな<form>
タグで囲むことによって機能します。HTML ではネストされた<form>
タグを使用できないため、通常、WebForms ページ内で MVC フォームを使用することはできません。WebForms ページを MVC コンテンツから分離するか、WebForms ページに表示される可能性のある MVC コンテンツで HTML フォームを使用しないようにするか、WebForms DOM 領域外で作成されるフォームにポップアップ ダイアログを使用します。
もちろん技術的に可能です。ただし、MVC は Classic ASP や ASP.NET WebForms とはかなり異なる動作をするため、カルチャー ショックになるようです。私はそれを行う価値があると思います-または、それがより自然に思われる場合は、ASP.NET WebForms に固執するだけです。しかし、まだ WebForms に完全に取り組んでいない場合は、MVC に簡単に移行できます (IMO)。