私は実際には、ここで私の意見に同意している意見を見るのがとても安心です。テンプレート言語としてのASP.NETは非常に貧弱です。
私はちょうどここ(上flamesuit!)作られたプロ・ポイントのカップルを反論したいと思います:
デイブ・ワードは、IDの衝突を言及 - これは本当ですが、私のひどい扱いか。私は、クライアントIDのようなASP.NET内部に延期する以外は、IDを効果的に無用にすることによって、xpathや深いCSSセレクタによって参照されるノードを参照することを好みました。
Rob Cooperさんは、コントロールがHTMLをどのように置き換えているかについて話していますので、それはすべてうまくいきます(言い換えれば、Robを許してください) - 既存のよく理解された言語を取り入れ、私たちの道を今のやり方で」、そして彼らの道は非常にが実装されていません。例えばasp:panelは、あるブラウザで表をレンダリングし、別のブラウザではdivをレンダリングします。ドキュメンテーションや実行がなければ、ログインコントロール(および他の多くのもの)のマークアップは予測できません。デザイナーにCSSを書くのはどうしたらいいですか?
プラットフォームがhtmlを変更した場合、コントロールによって抽象化のメリットが得られます。これは明らかに円形です(プラットフォームが変更されているため変更が必要です。その代わりに)実際に問題を作り出します。コントロールが再びアップデートで変更される場合、どのように私のCSSはそれに対処することになっていますか?
謝罪者は、「はい、あなたは設定でこれを変更することができます」、またはコントロールとカスタムコントロールの上書きについて話します。なぜ私はする必要がありますか?これらの問題のいくつかを修正することを目的としたCSSのフレンドリーなコントロールパッケージは、それには意味のないマークアップがあり、IDの問題に対処しません。
webformアプリケーションでMVC(抽象的な概念で3.5実装ではありません)を実装することは不可能です。なぜなら、これらのコントロールはビューとコントロールを緊密に結びつけるからです。伝統的なWebデザイナーのためのエントリーの障壁があります。なぜなら、以前はCSSとJSの別々のドメインであったものを実装するためにサーバーサイドコードに関わる必要があったからです。私はこれらの人々に共感します。
私は、コントロールによって特定のプロファイルのアプリケーションが非常に迅速に開発されるというKiwiの意見に強く同意します。何らかの理由でプログラマがHTMLを見つけられず、ASPの他の部分も利点があります。 NETは、これらのコントロールを必要とするあなたに与える、かもしれない価格の価値がある。
しかし、私は制御の損失を再送、(私は分離コードでのクラス、スタイルやスクリプトのようなものを扱うのモデルは後方wrongheadedステップであると感じ、と私は、さらにより良いモデルがテンプレートのためにそこにあることを感じてマイクロソフトの実装とこのプラットフォーム用のxslt)がありますが、これをコントロールに置き換えるのは簡単なことではありません。
ASP.NETは、LAMPとレールの関連技術から多くのことを学ぶことができると思っています。それまでは3.5 MVCで動作することを願っています。
(申し訳ありませんそれはそう長く< /暴言>た)
"ASP.NETコントロールはあなたのためにすべてのことを行う" - はい、しかし*ひどく* – annakata
私は多少それに同意しないだろう。私はツールではなくプログラマーを責めるプログラマーになろうとする。私はいくつかのASP.NETアプリケーションによって生成されたマークアップがどれほどきれいであるかについて人々にコメントを与えました。標準コントロールの多くは問題ありません。 ViewStateで多くのことを頼りにして、ViewStateが嫌いです。 :) –