Alternate Text Nested MasterPages استفاده از MasterPage های تو در تو

نویسنده : محمدحسین عبدالهی | دسته بندی : طراحی صفحات وب
Alternate Text 12 Alternate Text 195

Nested MasterPage

استفاده از MasterPage های تو در تو در ASP.Net

زمانی که سایتی طراحی می کنیم قسمت های ثابت صفحه را در نظر میگیریم به دلایلی مثل : سرعت لود بالاتر صفحات ، تسریع تولید پروژه ، خطایابی ساده تر ، اعمال تغییرات سریع تر و ... از MasterPage استفاده می کنیم.

برای مثال در شکل زیر Header و Footer یک سایت را در داخل MasterPage ایجاد کرده ایم.

FullCode.ir - Nested MasterPages - MasterPage های تو در تو

سایت را در دو بخش کلی در نظر میگیریم ، ابتدا یک بخش شامل دو ستون یک Sidebar در سمت راست و یک Content در سمت چپ و تمام صفحه به این صورت :

FullCode.ir - Nested MasterPages - MasterPage های تو در تو

و بخش دوم شامل سه ستون مانند سایت های خبری :

FullCode.ir - Nested MasterPages - MasterPage های تو در تو

قسمت های خاکستری رنگ از MasterPage1 مشتق شده اند.

برای پیاده سازی این سناریو اگر بخواهیم MasterPage های دیگری را از این MasterPage مشتق کنیم فقط لازم است دو نکته زیر را در نظربگیریم :

نکته اول : فایل MasterPage اول (فایلی که از MasterPage دیگری مشتق نشده باشد) شامل دو تگ ContentPlaceHolder می باشد.

این دو تگ به این صورت هستند :

<asp:ContentPlaceHolder ID="head" runat="server">

</asp:ContentPlaceHolder>

 

<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

</asp:ContentPlaceHolder>

به head و ContentPlaceHolder1 به ترتیب ID های تگ اول و دوم دقت کنید.

نکته دوم : فایل aspx یی که از صفحه MasterPage اول مشتق شده است به صورت خودکار این دو تگ را در درون خود دارد.

Default.aspx

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">

</asp:Content>

 

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">

</asp:Content>

تمام موارد بالا مربوط به MasterPage یی می باشد که از MasterPage دیگر مشتق نشده است.

خلاصه موارد توضیح داده شده تا اینجا به این صورت است :

FullCode.ir - Nested MasterPages - MasterPage های تو در تو

حال اگر MasterPage2 قرار باشد از MasterPage1 مشتق شود بایستی دو تگ ContentPlaceHolder را با دو ID متفاوت برای آن تایپ کنید. در این قسمت به هر کدام یک 2 اضافه شده است.

FullCode.ir - Nested MasterPages - MasterPage های تو در تو

پس از این کار صفحه aspx مورد نظر را از MasterPage2 مشتق کنید :

FullCode.ir - Nested MasterPages - MasterPage های تو در تو

تگ هایی که در MasterPage2 ایجاد کرده ایم به صورت خودکار در فایل Default2.aspx حاضر می شود.

خلاصه موارد Nested MasterPage به این صورت می باشد:

FullCode.ir - Nested MasterPages - MasterPage های تو در تو

به این ترتیب MasterPage2 از MasgerPage1 مشتق می شود. تمام صفحات aspx که از MasterPag2 مشخص شوند شامل المان های MasterPage1 نیز می شوند.

نکته پایانی : اگر در MasterPage2 و ... دو تگ را تایپ نکنید در صفحه aspx مربوطه یک خط توضیحات به شکل زیر نمایش داده می شود :

FullCode.ir - Nested MasterPages - MasterPage های تو در تو

ذکر مطالب با منبع بلامانع است.

 

در این آموزش به 2 نکته اساسی در هنگام استفاده از MasterPage های تو در تو در ASP.net می پردازیم.