4

MVC でフォームを作成するには、どちらの方法を好みますか?

<% Html.Form() { %>
<% } %>

または

<form action="<%= Url.Action("ManageImage", "UserAccount") %>" method="post">
</form>

PR5 の Html.Form() は、リクエストによって提供された URL を使用するだけであることを理解しています。ただし、特に、含まれているクエリ文字列のすべての荷物を取得するため、それについてはうまくいきません。

あなたの見解は何ですか?

4

6 に答える 6

7

第二の方法、間違いなく。最初の方法はプログラマー中心であり、MVC の V 部分とは異なります。2 番目の方法は、よりデザイナー中心であり、必要なモデルにのみバインドし、HTML を可能な限り自然のままにします。

于 2008-09-03T18:55:59.357 に答える
3

全体として、私は独自の HTML 要素をロールすることを好むので、私はちょっと古い学校だと思います。

また、 NHamlのようなビュー エンジンも好みます。これにより、HTML の記述がほぼ桁違いに簡単になります。

于 2008-09-03T18:46:32.233 に答える
1

私はあなたの両方に同意する必要があります.MVCに統合されているように見えるこの単純なWebFormsスタイルはあまり好きではありません. このようなものは、サードパーティのライブラリ、または少なくとも必要または必要に応じて含めることができる拡張ライブラリである必要があるようです。

于 2008-09-03T20:27:45.127 に答える
1

Andrew Peters、DRYに同意します。また、コントローラー、アクション、およびパラメーターを .Form() ヘルパーに指定でき、それらがルーティング ルールに適合する場合、クエリ文字列パラメーターは使用されないことにも注意してください。

また、MVC の V について Will が言っていたことも理解しています。私の意見では、ビューのためである限り、コードをビューに入れることは問題ではないと思います。注意しないと、コントローラーとビューの間の境界線を簡単に越えることができます。個人的には、C# をテンプレート エンジンとして使用するのは我慢できず、目が充血したり、誰かを殺したいという衝動に駆られたりすることはありません。これにより、ロジックを分離し、コントローラー ロジックを C# に、ビュー ロジックを braid に保つことができます。

于 2008-09-04T19:46:06.060 に答える
1

私は完全に古い学校の HTML の意見に賛成です。それがデザイナーが使用するものです。このため、コード中心の構文をあまり含めたくありません。別のビュー エンジンに置き換えたので、Web フォーム ビュー エンジンをサード パーティのライブラリのように扱います。Web フォーム ビュー モデルの動作や方向性が気に入らない場合は、いつでも別のルートに進むことができます。それが、私が ASP.NET MVC を気に入っている主な理由の 1 つです。

于 2008-09-04T00:52:48.157 に答える
0

ヘルパーを使用する理由は、共通パターンを一貫性のある DRY 方式でカプセル化できるようにするためです。通常のコードと同じように、ビューをリファクタリングして重複を削除する方法と考えてください。

たとえば、モデルに基づいて URL を作成できる RESTful NHaml ヘルパーについてブログを書きました。

于 2008-09-04T02:16:04.900 に答える