カスタムHTMLヘルパークラスは、ASP.NET MVCモデルに違反していますか?
-
29-08-2019 - |
質問
私が開発するとき、私は、ちょうどその、参考にするカスタムHTMLヘルパーを発見したことを述べた関連のポストに。私は「グリッド」のためのページングを必要とする場合例えば、私は私がHtml.Pager()
を呼び出すことができるカスタムヘルパーを持っています。
いくつかは、HTMLヘルパーはMVCモデルに違反していることのポイントを作りました。個人的に、私はそれが、このようなHtml.Textbox()
やHtml.ActionLink()
などの既存のヘルパー、より任意の異なるものが表示されません。
私はまだので、すべての視点が評価され、MVCについての詳細を学ぶためにしようとしています。
解決
既存のヘルパーは、すべてのHtmlHelperクラスの拡張メソッドとして記述されていることに注意してください。他の人がHtmlHelperのの拡張メソッドとして、独自のヘルパーメソッドを書くことができるように私たちは、明示的なアプローチを取っています。
だから、一般的に、これはMVCモデルの違反ではありません。私はそれが本当にあなたのヘルパーに何をしているかに依存しますね。ヘルパーは、単にそれらに渡される引数に基づいてHTMLをレンダリングする必要があります。彼らはなど、すべてのデータアクセスを行うべきではありません...
彼らは単にマークアップの共通部分をレンダリングするためのコードをカプセル化します。あなたはそれをやっている場合は、ASP.NET MVCモデルに違反していないよ。
所属していません StackOverflow