質問

私は、ASP.NET MVCでのHTMLヘルパーを有し、これはあなた自身を提供するために拡張するための理由を理解し、私はHTMLヘルパーを使用すると良いアイデアであるかどうかを疑問に思って。

私は、ASP.NET MVCの利点の一つは、HTMLのコントロールであると思いました。あなたがHTMLを生成するヘルパー関数で離れてそれを隠して起動する場合は、視認性を失って起動しないのですか?私は、これはあなたがボタンなどの単純なコントロールを生成しているが、私はグリッドや、より複雑なHTML出力を作成するためのHTMLヘルパーの使用を見ているような問題ではないと思います。

今、私はまた、そうする理由は、重複を避け、DRY物事を維持することです理解しています。しかし、ここでコードビハインドに似て何かを持っていることの危険性はありませんでしょうか?また、あなたはデザイナーとのコラボレーションで作業している場合は?一般的に、設計者は、マークアップを作成し、スタイルを適用することになります。あなたはマークアップを生成するヘルパーを使用してビューを注入開始した場合は、このようにコラボレーションが困難にしないのですか?

役に立ちましたか?

解決

「HTMLの制御は、」マイクロソフトマーケティング話すあり、そして、彼らはプラットフォームをブランドすることを選択されている方法です。 ASP.net MVCのポイントは、それがより簡単で、より良いフィットマイクロソフト空間の外ほとんど誰もが数年前に移動し、その後webappsにWebフォームの全体のステートフルなイベント駆動型モデル、そして何かのためであるということです。彼らはWebフォームでの莫大な投資を持っているため、Microsoftは、しかしそれを言うことができない、それは、企業の物語の重要な部分です。

言われていること、あなたはヘルパーにビジネスロジックを持っている場合は、間違ったそれらを使用しています。それはそれだけでは、複数のページ間で複製されたプレゼンテーションロジックのための背後にある基本的にコードされ、そして目標は、できるだけ簡単なマークアップでスクリプトレットタグを維持することです。

設計者が使用する方法を学習するために、

限り、あなたはヘルパーに彼らが使用されるべき方法を使用すると、それはかなり些細でなければなりません。ただ、それは彼らが正しく使用されていないこと、目標は、彼らは物事がより複雑になってしまう場合は、物事をシンプルに保つことであることを覚えてます。

他のヒント

グレートコメント、マット。 「純粋な」MVCの実装では、HTMLヘルパーは良いアイデアであるかどうかの質問がまだあります。私は魔法の言葉、「純粋」だと思います。私は物事の「正しい」方法を考えるためにスローダウンするたびに、私は本当に特定のアプローチは、純粋主義者のビジョンで収まるかどうかを確認しようとしています。だから、純粋主義者はHTMLヘルパーを使うのでしょうか?

私は約8/10純粋主義者だと私はそれらを使用することはありません。私は、この引数は技術を超越見てPHPでMVCとZendフレームワークの問題を提起しました。それはちょうど感じていないと私には、それは1つが思い付くことができる最高の対策です。

ヘルパーには何の問題も間違いありません。彼らは清潔で、宣言あなたの意見を維持するために使用しています。もし「があるかどう 『』文はあなたのビューで、あなたはそれが間違ってやっている」のようなものだことわざがあります。彼らはルビーオンレールやケーキPHPなどの多くの著名なMVCフレームワークで使用しています。 この記事をチェックしてくださいに。 「純粋主義者」かどうかは、ヘルパーは良いことであり、悪い習慣や、漏洩の抽象化と混同しないようにします。

私は他の人が言及していないことを一つの重要なポイントは、あなたの意見の移植だと思います。

あなたはすぐに別のプラットフォーム上のアプリケーションへのあなたのHTML、JavaScriptとCSSを移動することができます。あなたは、実際のHTMLに...すべての醜いHTMLHiders ...申し訳ありませんが、HTMLHelpersを変換する必要はありません。

私は私の開発時間を短縮し、私の仕事が容易になり、.NETフレームワークの最高点を持っているが、

、私は強くビューは非独占的であることを感じています。

あなたはとにかくほぼすべてのモデルとコントローラ内のフレームワークからの利益のを得ることができます。あなたのプレゼンテーション層フレームワークへの依存性を注入することIMO、全くトレードオフの価値ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top