نحوه ایجاد(تو در تو) 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 تشکر