通常、CodeBehindでコントロールを生成することは、視覚的なレイアウトが少し難しくなるため、望ましくありません。ただし、覚えておくべきことがいくつかあります。
まず、CodeBehindでコントロールを作成することは難しくありませんが、UIレイアウトだけにとどまらないコストがかかります。つまり、後でページに再度アクセスして、どこから何が発生するかを把握する必要がある場合に、コストが発生します。注意しないと、CodeBehindで何かを行うとつまずく可能性があります。
次に、ASP.NET 4.0にジャンプするのに十分な柔軟性を維持できる場合、4.0はクライアント側のIDを定義する方法を提供するため、フラストレーションは短命になります。
第三に、MVCは代替手段ですが、実際に始めたばかりでない限り、そのようにすることを躊躇します。WebForms開発に慣れている人々の生産性に関して、MVCには重大な欠点があります。これについては、ここで詳しく説明します。
現在、Javascript / JQueryからコントロールを参照する必要がある場合は、複雑なIDを処理する必要があります。これはほとんどの状況で比較的制限された問題であり、4.0に移行するとすぐに解消されます。ただし、MVCは大きなコミットメントです。考え方が異なり、WebForms開発に慣れている場合は、ツールベルトから非常に生産的なツールを削除します。それを採用する主な理由-簡単なJQuery統合などの他のツールの追加-も.NET4の変更によって弱められています。 結局、どちらが「最良」であるかについての決定ではなく、決定です。どちらがあなたの開発スタイルと感性に合っているかについて。
幸運を!
PS: .NET 4 / Visual Studio 2010を今すぐ入手できることをご存知ですか?展開可能なプロジェクトの準備が整っており、VS2008からの重要なステップアップを表しています。