ASP.NET 2.0 - صفحه‌ی اصلی (Master Pages)

صفحه‌ی اصلی (Master Pages) قالب‌هایی برای سایر صفحات در داخل وب‌سایت ارائه می‌دهد.

صفحه‌ی اصلی (Master Pages)

صفحه‌ی اصلی به شما امکان می‌دهد تا برای همه‌ی صفحات (یا گروه‌های صفحه) در یک برنامه‌ی وب یک ظاهر و رفتار یکسان ایجاد کنید.

صفحه‌ی اصلی قالب‌هایی برای سایر صفحات ارائه می‌دهد که دارای قالب‌های مشترک و ویژگی‌ها هستند. صفحه‌ی اصلی جای‌گیرنده‌هایی را برای محتوای قابل پوشش توسط صفحه‌ی محتوایی تعریف می‌کند. خروجی ترکیبی از صفحه‌ی اصلی و صفحه‌ی محتوایی است.

صفحه‌ی محتوایی شامل محتوایی است که می‌خواهید نمایش دهید.

وقتی کاربر درخواست صفحه‌ی محتوایی را می‌کند، ASP.NET صفحه را با هم ترکیب می‌کند تا خروجی تولید کند، خروجی تولید شده ترکیبی از قالب Master Page و محتوای صفحه‌ی محتوایی است.

مثال Master Page:

<%@ Master %>
<html>
<body>
<h1>Standard Header For All Pages</h1>
<asp:ContentPlaceHolder id="CPH1" runat="server">
</asp:ContentPlaceHolder>
</body>
</html>

صفحه‌ی اصلی یک قالب HTML معمولی است که برای سایر صفحات طراحی شده است.

@ Master دستورآن را به عنوان یک صفحه‌ی اصلی تعریف کنید.

این صفحه‌ی اصلی یک برچسب جای‌گیرنده برای محتوای جداگانه‌ای دارد. <asp:ContentPlaceHolder>.

id="CPH1" نام‌گذاری این جای‌گیرنده، در صفحه‌ی اصلی مشترک، امکان استفاده از چندین جای‌گیرنده را فراهم می‌کند.

این صفحه مادر به عنوان "master1.master".

توجه:این صفحه مادر نیز می‌تواند کد را شامل شود و محتوای پویا را ممکن کند.

مثال صفحه محتوایی:

<%@ Page MasterPageFile="master1.master" %>
<asp:Content ContentPlaceHolderId="CPH1" runat="server">
<h2>محتوای فردی</h2>
<p>Paragrap 1</p>
<p>Paragrap 2</p>
</asp:Content>

صفحه محتوایی بالا یکی از صفحات محتوای مستقل است.

دستور @ Pageآن را به عنوان یک صفحه محتوای استاندارد تعریف کنید.

این صفحه محتوایی یک برچسب محتوایی شامل دارد<asp:Content>، این برچسب به صفحه مادر (ContentPlaceHolderId="CPH1") اشاره دارد.

این صفحه محتوایی به عنوان "mypage1.aspx".

وقتی که کاربر درخواست این صفحه را می‌کند، ASP.NET صفحه مادر و صفحه محتوای را با هم ترکیب می‌کند.

اینجا کلیک کنید تا mypage1.aspx نمایش داده شود.

توجه:متن محتوای باید در داخل برچسب <asp:Content> قرار گیرد. متن خارج از این برچسب مجاز نیست.

صفحه محتوای دارای کنترل

<%@ Page MasterPageFile="master1.master" %>
<asp:Content ContentPlaceHolderId="CPH1" runat="server">
<h2>W3School</h2>
<form runat="server">
<asp:TextBox id="textbox1" runat="server" />
<asp:Button id="button1" runat="server" text="Button" />
</form>
</asp:Content>

صفحه محتوای بالا نشان می‌دهد که چگونه می‌توان کنترل‌های .NET را در صفحه محتوای وارد کرد، مانند ورود به یک صفحه معمولی.

اینجا کلیک کنید تا mypage2.aspx نمایش داده شود.