質問

ASP.NET 2.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 では、複数のコンテンツページや、単一のマスター ページ全体でヘッダー セクションの操作も可能です。

私はこのツールを、ASP.Net を使用する Web 開発者向けのツールのトップ 10 に入ると評価しています。

ASP.Net MVC でも MasterPages が使用されており、Paul Haack とその仲間たちがまとめたサンプルはすべて MasterPages を使用しています。

他の声をここにエコーします。私は 2.0 でマスター ページを使用しましたが、この機能は私にとって素晴らしいものでした。アプリ全体で使用できるよう、バナー、標準化された背景、Active Dir からのキャプチャ、その他の JavaScript 機能を埋め込んで、見た目の一貫性を維持し、複数のページで同じ作業を行う必要がありません。素晴らしい機能です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top