2012-02-23 16 views
3

Webformを使用して構築されたWebサイトをMVCを使用して構築されたWebサイトに移動するには時間がかかりますか?WebformsサイトをMVCに移植するには時間がかかりますか?

私はasp.net webformsを使用して構築された既存のウェブサイトを持っていますが、それはちょっと面倒です。私はたくさんのjavascriptとajaxを使いたいですが、webformsはこれを少し難しくしています。それは私のためにあまりにも多くをしようとするので、私が期待していないことをしたいときには作業するのが難しくなります。

そのように、私は唯一のPage_Loadイベントを使用して撮影した、と完全にすべてのポストバックのものを無視してきた - 私は提出フォームに対処する必要があるとき、私はRequest.Form["ElementName"]Page_Loadイベントから手動でそれを扱うが、ほとんどの私はJavaScriptを使用しています。

私はasp.net MVCが動作するのがはるかにいいと聞いたので、私はこれに私のサイトを移植することを考えています。私が.innerHTML =でデータを入力するのに必要な標準的なHTML要素にのみrunat="server"を書いているとすれば、MVCに移行するにはどれくらいの時間がかかりますか?それとも、この動きを試みるのは全く愚かな考えですか?

答えて

6

あなたが推測したように、既存のコードベースの規模を見ずに、個々のシナリオに関するアドバイスを行うことはほとんど不可能であるという、幅広い質問です。しかし、のようなあなたが少しずつ渡って機能を移動について考えるしたい場合があり、多くの問題を緩和する要素がある:私は控えめなセグメント

  • への既存の機能がexisitingサイトは、まだすべての電流を必要とします

    • を打破することができます機能
    • は私が
    • MVCで純粋に導入する可能性がある新機能です私はオブジェクト・モデルを拡張する必要があります - EFコード-最初は
    をmvcscaffolding経由して大きな利点を与える可能性があり

    asp.netの美しさは、webformsとmvcを混在させることができ、必要に応じて機能を切り離すことができるということです。もちろん、Web上のmvcにはたくさんのリソースがありますので、すぐに進んでいくのは簡単なので、あなたは良い進歩を遂げることができます。

    私はあなたが本当にmvcを楽しむと思う - それは経験がないです。

    [編集] - webformsとmvcの組み合わせについて議論するウェブ上の興味深いリソースがいくつかあります。しかし、私にとっての決定的なものは、スコット・ハンセルマンでなければならない。それは、その後だったとして、まだmvc3にrelevent:

    http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx

    http://www.aspnetmvcninja.com/general/mixing-asp-net-mvc-and-webforms

  • +0

    +1ミックスとマッチ - 時間と位相のウェブフォームをアウト領域に変換できます。 – StuartLC

    +0

    ありがとう、私は一緒にMVCとwebformsを実行しようとします。私がMVCで可能な余分なものをゆっくりと動かすことができるので、おそらくこの方が良いでしょう。 – Oliver

    +0

    はい+1ですが、同時に組み合わせたモデルを少し複雑にするかもしれません。 –

    0

    ポートではなく書き換えが必要です。 MVCサイトはWebFormsサイトとはまったく異なっています。

    MVCはASP.NET要求ライフサイクルに基づいていません。コードビハインドはありません。ビジネスロジックはControllerクラスから呼び出されます。データはモデルにカプセル化され、次にビューに渡されます。 ASP.NETとは全く違う獣です。

    警告:MVCに切り替えると、ASP.NETの古い世界に戻ることはありません! :-)

    幸運!

    +0

    'MVCはASP.NETリクエストライフサイクルに基づいていません。 MVCはASP.NET上に構築されているため、当てはまりません。 – jgauffin

    +0

    MVCサイトには、Page Init、Page LoadなどのPageイベントはありません。 –

    +0

    'ASP.NET'リクエストライフサイクルには何がありますか?ウェブフォームのページライフサイクルを参照している可能性がありますか? – jgauffin

    1

    短い答えを、ここで言うのは不可能。

    長い答え、それはそれはあなたが、サイトとアーキテクチャの複雑さを書き換える必要がありどのように多くのサイトに依存...

    を依存しています。

    すべてのロジックがコードビハインドファイルに含まれている場合は、長い時間がかかります。 アーキテクチャがサービスと抽象化を使用して責任を分けている場合は、ずっと簡単です。

    私はその散歩を歩く必要があります、私はビットごとにコードを移植するには調べます。私はJSFとSpring MVCでこれをやっていますが、これは.Netでも可能です。あなたのコードとあなたのスキルを向上させるたくて

    http://weblogs.asp.net/rajbk/archive/2010/05/11/running-asp-net-webforms-and-asp-net-mvc-side-by-side.aspx

    +1

    ありがとう、ほとんどのロジックはコードビハインドとは別のファイルにあります。私はコードビハインドがページにデータをレンダリングするようにしようとしました。 – Oliver

    1

    愚かな動きになることはありません!

    両方を同じアプリケーション内で使用することは可能です。 MVCプロジェクトを設定すると、Webフォームページにマップされるページリクエストを無視するように指示できます。

    これで、必要に応じて機能を移動することができます。

    MVCとWebフォームのページで利用できる機能が必要な場合は、これが複雑になり、おそらく一度にMVCに移行するのが最もよいでしょう。

    個人的には、これまで何をしていたのか、小さくて簡単に始めてください。

    関連する問題