2010-12-30 17 views

答えて

3

Try this SO answer which addresses the same question.

コメント/質問の後に余分な情報:

ASP.NetのWebフォームは、ページ上のサーバーコントロールの状態を保存するためにビューステートを使用することができますし、ボタンなどのサーバサイドイベントの呼び出しを管理するために、クリック。 Win Forms開発者がブラウザベースのアプリケーションを移行したりノックアウトしたりするのを容易にするために、Win Formsのアプローチに似たプログラミングモデルを提示することです。それについて深く学ぶには、googleを押してasp.netのページライフサイクルについて学び、viewstateの処理がどこに収まるかを説明してください。Here's a pretty good explanation

ASP.Net MVCは、異なるビューエンジンを使用してマークアップを生成する別のプログラミングモデルです。つまり、実際にブラウザクライアントにストリーミングされるコンテンツです。ある程度、Webフォームが導入した多くの「魔法」が取り除かれますが、代わりに、より標準的なマークアップを作成し、クライアントに表示される内容をより詳細に制御することができます。 MVCを学んでいるなら、NerdDinnerサンプルの章を見てください。これは、MVC Music Storeだけでなく、良いチュートリアルです。それらを通じて、MVCを行う良いイントロです。

MVCは、異なるプログラミングモデルであるため、ビューステートまたはポストバックを使用/必要としません。どちらのプロジェクトでもより適切な/より適切なのは、私が両方とも自分の強みを持ち、さまざまなシナリオで役立つと思うので、私が他の人に与えてくれる大きな議論です(私は個人的にMVCを主に使用します...)。あなたは事柄が異なって行われるのは間違いありません... Webフォームが真似る単純なイベント駆動型アプローチではうまく動作することはできませんが、MVCには数多くの強みがあります。 MVC。

+0

ありがとうございます。私はそれをチェックしたが、私はまだ非常に混乱している。そのリンクに投稿しているポスターは、どのビュー状態が既にわかっているようです。私が理解できないことは、ASP.NETがビューの状態を必要とし、ASP MVCが必要としないことです。それは私がASPのMVCでやっていけないことがあるのか​​、まったく違うことがあるのでしょうか? – GordonHowe

+0

これは物事がちょうど異なって行われることを意味します。 – JTew

+0

"viewstate"データがmvcに表示されない場合は、別の場所に保存されていて、それがサーバーだと思います。しかし、あなたはユーザーのために各 "状態"を管理/記憶しなければならず、私はあなたがキャッシュ内でそれを行うと仮定します。各ユーザーのトークンを生成しますか?あなたは精緻化できますか? –

0

MVCビューステートとセッションはありませんが、viewstateではなくTempDataオブジェクトを使用できます。 をコントローラにバインドすると、TempDate["MyKey"]="My Value"のようにバインドできます。次のリクエストでは、次のような操作で価値を得ることができます。String s=TempData["MyKey"]

関連する問題