ASP.NET2.0のマスターページについて学習したばかりです。
それらは素晴らしいように聞こえますが、実際にはどの程度うまく機能しますか?
大規模なWebサイトでそれらを使用した経験のある人はいますか?
ASP.NET2.0のマスターページについて学習したばかりです。
それらは素晴らしいように聞こえますが、実際にはどの程度うまく機能しますか?
大規模なWebサイトでそれらを使用した経験のある人はいますか?
ASP.NET MVCのコンテキストでマスターページのみを使用したことは確かなので、Webフォームと異なるかどうかはわかりませんが、私の経験では、マスターページは優れているだけでなく、使用しないことも想像できませんでした。 。マスターページは、Webページへのコード継承です。
アプリケーションのすべてのページでアプリケーションの外観を維持したい場合は、これらは必須です。
それらはかなり使いやすいです:
まず、マスターページをデザインし、コンテンツを配置する場所を定義します。
<%@ Master ... %>
<%-- HTML code --%>
<asp:ContentPlaceHolder id="plhMainContent" runat="server" />
<%-- HTML code --%>
プレースホルダーはいくつでも持つことができますが、後で必要になるため、適切な識別子を指定するだけです。
次に、aspx
ページを作成するときに、使用するマスターページと、どのプレースホルダーにどのコンテンツを配置するかを指定する必要があります。
<%@ Page ... master="~/MasterPage.master" ... %>
<asp:Content ID="ContentIdentifier" ContentPlaceholderid="plhMainContent" runat="server">
<%-- More HTML here --%>
<%-- Insert web controls here --%>
</asp:content>
正しいマスターページにリンクしていることと、コンテンツが正しいプレースホルダーを参照していることを確認してください。
マスターページは多くの時間を節約し、非常に強力です。そこにチュートリアルがあり、プレースホルダーとWebコントロールの力を学びます。
私が働いているところでは、いくつかの大企業でマスターページとWebコントロールを幅広く使用していますが、他の企業が提供できるものと比較すると、それは私たちに優位性を与えてくれます。
これらは、特にCMS環境や大規模なサイトで非常に役立ちます。また、MattMitchellが言うように、これらなしで大規模なサイトを構築することは考えられません。
テンプレートを選択します。各テンプレートには異なる編集可能な領域があり、作業は完了しています。マスターページも継承できるため、Style.Masterを作成し、Header.Masterを派生させてから、そこからすべてのレイアウトベースのテンプレートを派生させることができます。
マスターページにより、テンプレート対応のWebサイトを簡単に構築できます。
マスターページを使用してWebサイトを構築する上で最も難しいのは、マスターページにいつ配置するか、子ページのContentPlaceHolderにいつ配置するかを知ることだと思います。一般に、動的なものはプレースホルダーに入り、静的なアイテムはマスターページに入りますが、灰色の領域がある場合もあります。それは主にデザイン/アーキテクチャの質問です。
実際には、MasterPages を使用せずに開発されたサイトを見つけることはほとんどありません。サイトのルック アンド フィールをシンプルかつ簡単に操作できるほか、ナビゲーション要素や共有コンテンツを簡単に作成できます。
ASP.Net 3.5 では、1 つのマスター ページで複数のコンテンツ ページとヘッダー セクションを操作することもできます。
ASP.Net を使用する Web 開発者向けツールのトップ 10 に入っていると評価しています。
ASP.Net MVC でさえ MasterPages を使用しており、Paul Haack と彼のグループがまとめたすべてのサンプルで MasterPages が使用されています。
ここで他の声をエコーします。私は 2.0 でマスター ページを使用しましたが、この機能は私にとって素晴らしいものでした。バナー、標準化された背景、Active Dir からのキャプチャ、その他の JavaScript 機能をアプリ全体で使用できるように埋め込み、ルック アンド フィールの一貫性を維持し、複数のページで作業を繰り返す必要がないようにしました。優れた機能。