ASP.NET Web フォームの新しいバージョン (特に 4.0 以降) は、Web サイトにアクセスしている特定のデバイスに基づいてコンテンツを提供することに対して、より「フレンドリー」であり、レンダリングされたマークアップのより「クリーンな」出力を可能にする改善が行われています。これはサーバー側のコントロールによって生成されます。
これはもちろん MVC にも当てはまりますが、 ASP.NET MVC は、ASP.NET Webforms が使用する同じ ASP.NET ランタイムの上に書かれていることを忘れないでください。このため、当初は MVC を介して公開されていた多くの利点が Web フォームでも利用できるようになりました。
Microsoft のASP.NET サイト、How To: Add Mobile Pages to Your ASP.NET Web Forms / MVC ApplicationRequest.Browser.IsMobileDevice
に非常に優れたホワイト ペーパーがあり、 &などの機能がどのように機能するかを詳細に説明してRequest.Browser.ScreenPixelsWidth
います。したがって、WebForms と MVC の両方に等しく適用できます) を使用して、現在 Web サイトにアクセスしているデバイスの機能を検出できます。デバイスに関する非常に詳細な情報が必要な場合は、WURFLなどを統合する必要があります。WebForms と MVC のどちらを使用しているかに関係なく、Web サイトに追加できます。さらに、フォーム ファクターとアスペクト比が異なるデバイスで非常に特殊なレイアウトが必要な場合は、それらのデバイスを対象として特別に設計されたページ (MVC ビューまたは ASP.NET Web ページ) をいずれかの方法で提供する必要があります。
ASP.NET WebForms で jQuery をクリーンに使用する機能に関しては、ASP.NET WebForms 4.0 以降ClientID
、レンダリングされたマークアップの DOM 要素に適用される値を厳密に制御できます。と呼ばれる新しいプロパティがあり、要素の ID に既知の値があるClientIDMode
ことを 非常に簡単に確認できるため、jQuery をより簡単に使用できます。の値をまたはの値ClientIDMode
のいずれかに設定すると、要素に ID 値が与えられ、jQuery での操作がはるかに簡単になります。ただし、ここで注意すべきことは、ASP.NET ランタイムがまだ HTML 要素を生成し、それらの ID に値を割り当てているため、ID 値が重複する可能性があることです。static
predictable
、特に複合コントロール (つまり、GridView
独自の ID 値を持つが、それ自体が多くの構成要素のコントロール/要素で構成されているコントロールなどのコントロール - もちろんそれぞれ独自の ID を持つコントロール) を使用する場合。
全体として、ASP.NET WebForms と ASP.NET MVC のどちらを選択するかは、おそらく、最も快適で生産性が高いものに帰着します。個人的には、ASP.NET WebForms バージョン 4.0+ は以前のバージョンよりも強力で大幅に改善されていると言わざるを得ませんが、MVC のテスト容易性と WebForms に対する関心の分離という追加の利点が好きなので、MVC を使用します。最近のASP.NET WebFormsでは、MVC スタイルのルーティング、拡張子のない URL などがあります。