19

おそらくこれは素朴な質問です。私の理解では、ASP.NET MVC は、ASP.NET フォームの基本である ViewState と Postback では動作しません。あれは正しいですか?

それだけなら、ViewState と Postback に依存するすべての ASP.NET Web コントロールは、ASP.NET MVC では使用できませんよね?

4

3 に答える 3

29

ASP.NET のサーバー側コントロールは、MVC ではなく Web フォームで動作します。MVC は従来の ASP.NET の意味でのコントロールを (少なくともまだ) 使用していません。

MVC モデルは WebForms モデルとはかなり異なります。良くも悪くもありませんが、大きく異なります。MVC を使用すると、開発者は生成された HTML に非常に近づき、本質的に単体テストに役立ち、UI とその UI に入力するコードの間の懸念事項を強力に分離できます。

一見すると、特に経験豊富な ASP.NET ベテランにとっては、MVC は大きな後退のように思えるかもしれません (当時コーディングしていた場合、ASP COM 開発のビジョンが頭の中で踊るかもしれません)。

しかし、MVC を試してみてください。それは非常に興味深く、一度慣れるとそのモデルは非常に説得力があります。

詳細はこちら: http://quickstarts.asp.net/previews/mvc/mvc_HowToRenderFormUsingHtmlHelpers.htm

また、MVC を使用するこの興味深いブログ エンジンもチェックしてください: http://www.codeplex.com/oxite

最後に、Rob Conery の MVC ストアフロント プロジェクトをチェックしてください: http://wekeroad.com/category/mvc-storefront

于 2008-12-14T04:19:53.097 に答える
4

これには驚かれるかもしれませんが、誤ってボタンを MVC ページにドロップし、Click イベントを実装したところ、実際に機能しました!

私が間違っている場合は修正してください。ただし、ViewState は必要ないと思います。シンプルな HTML タグを作成する必要があります。実行時にボタンのプロパティ (テキスト、イベントなど) を変更しない場合、VIEWSTATEは必要ありません。

多分それがうまくいった理由です。

于 2009-11-10T10:16:54.510 に答える
0

これはあなたを驚かせるかもしれませんが、私は誤ってMVCページにボタンを落とし、Clickイベントを実装しました、そしてそれは実際に機能しました!

驚いたのは、この単純なケース(当時はページ上の唯一の要素でした)と、応答がリダイレクトで終了したという事実だけで機能する可能性がありますが、場合によっては機能するようです:)

于 2008-12-14T08:12:48.617 に答える