نحوه ایجاد(تو در تو) Nested Master Page در Asp.Net
پنجشنبه 3 اردیبهشت 1394در این مقاله نحوه ایجاد Nested Master Page را در Asp.Net شرح خواهیم داد
اگر یک وب سایت بزرگ را بخواهیم طراحی کنیم . ممکن است به چندین Master Page احتیاج داشته باشیم .به عنوان مثال ممکن است ما بخواهیم یک Master Page ایجاد کنیم که بر روی همه محتوای سایت اعمال شود , به علاوه ما می خواهیم چند قسمت از سایت را طراحی کنیم که علاوه بر Master Page از قسمتهای دیگری نیز ارث بری کند . ما از Nested Master Page در Visual Web Developer یا visual studio 2005 نمی توانیم استفاده کنیم .اگر ما به Nested Master Page احتیاج داریم , پس باید داخل تگهای مورد نظر تو در تو Nested Master Page مورد نظر را ایجاد کنیم .
به عنوان مثال در ادامه ما یک Master Page با نام "Site-Main.master" ایجاد کرده ایم که لوگوی سایت را نمایش می دهد و شامل یک قسمت می باشد .همچنین شامل لیست منو میباشد .
<%@ Master Language="VB" CodeFile="Site_Main.master.vb" Inherits="MasterPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head id="Head1" runat="server"> <style type="text/css"> html { background-color:Silver; font:14px Georgia,Serif; } .content { width:700px; margin:auto; border-style:solid; background-color:white; padding:10px; } .tabstrip { padding:3px; border-top:solid 1px black; border-bottom:solid 1px black; } .tabstrip a { font:14px Arial; color:Fuchsia; text-decoration:none; } .column { float:left; padding:10px; border-right:solid 1px black; } .rightColumn { float:left; padding:10px; } .footer { background-color:Lime; border:3px dotted red; text-align:center; } .clear { clear:both; } </style> <title>Website Main Master Page</title> </head> <body> <form id="form1" runat="server"> <div class="content"> <asp:Image id="imgLogo" ImageUrl="~/adds/CSSiteLogo.gif" AlternateText="Logo" Runat="server" /> <div class="tabstrip"> <asp:HyperLink id="lnkProducts" Text="HOME" NavigateUrl="~/Column1_Con_Home.aspx" Runat="server" /> | <asp:HyperLink id="lnkServices" Text="FORUM" NavigateUrl="~/Column2_Con_About.aspx" Runat="server" /> </div> <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"> </asp:contentplaceholder> <br class="clear" /> <br /> <br /> <div class="footer"> Copyright © 2010 by CompanyName </div> </div> </form> </body> </html>
در مثال بالا دو Nested Master Page با نام Column1.master و Column2.master ایجاد کرده ایم , هر دو خاصیت های Master Page را دارد و به Site.master اشاره می کنند .
Column1.Master
<%@ Master Language="VB" MasterPageFile="~/Site_Main.master" AutoEventWireup="false"CodeFile="Column1.master.vb" Inherits="Column1" %> <asp:Content id="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="server"> <div class="column"> <asp:ContentPlaceHolder id="ContentPlaceHolder1" Runat="server" /> </div> <div class="column"> <asp:ContentPlaceHolder id="ContentPlaceHolder2" Runat="server" /> </div> <div class="rightColumn"> <asp:ContentPlaceHolder id="ContentPlaceHolder3" Runat="server" /> </div> </asp:Content>
Column2.Master
<%@ Master Language="VB" MasterPageFile="~/Site_Main.master" AutoEventWireup="false"CodeFile="Column2.master.vb" Inherits="Column2" %> <asp:Content id="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="server"> <div class="column"> <asp:ContentPlaceHolder id="ContentPlaceHolder1" Runat="server" /> </div> <div class="rightColumn"> <asp:ContentPlaceHolder id="ContentPlaceHolder2" Runat="server" /> </div> </asp:Content>
Master Page هایی که در بالا ایجاد کرده ایم , به ترتیب سه ستونه و دو ستونه میباشند .
صفحه Column1_Con_Home.aspx که از Column1.master ارث بری میکند .هنگامی که به صفحه اصلی می رویم , محتوای صفحه Site_Main.master و Column1.master و Column1_Con_Home.aspx به یکدیگر متصل و نمایش داده میشوند .
محتوای مربوط به صفحه Column1_Con_Home.aspx
<%@ Page Title="" Language="VB" MasterPageFile="~/Column1.master" AutoEventWireup="false" CodeFile="Column1_Con_Home.aspx.vb" Inherits="Column1_Con_Home" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server"> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد </asp:Content> <asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder3" Runat="Server"> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد </asp:Content>
محتوای مربوط به صفحه Column2_Con_About.aspx
<%@ Page Title="" Language="VB" MasterPageFile="~/Column2.master" AutoEventWireup="false" CodeFile="Column2_Con_About.aspx.vb" Inherits="Column2_Con_About" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server"> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد <br /> در این قسمت محتوی سایت قرار دارد </asp:Content>
- ASP.net
- 3k بازدید
- 0 تشکر