Master Page
نمی دونم درست منوجه شدم منظورت چیه یا نه ولی کلا master page تو asp این طوری کار میکنه
ما یه صفحه داریم که master page مونه و یه سری کد خاص داره که ای طوریه
PHP:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="Site" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
<link href="Styles.css" rel="stylesheet" type="text/css" />
</head> <body> <form id="form1" runat="server">
<div id="topContent">
<a href="Default.aspx">Master Pages Tutorials</a>
</div>
<div id="mainContent">
<asp:ContentPlaceHolder id="MainContent" runat="server">
</asp:ContentPlaceHolder>
</div> <div id="leftContent">
<h3>Lessons</h3>
<ul>
<li>TODO</li>
</ul>
<h3>News</h3>
<ul>
<li>TODO</li>
</ul>
</div>
<div id="footerContent">
<img src="image.gif" alt="Powered by ASP.NET!"/>
</div>
</form>
تو این کد ها می تونی قسمت های ثابت مستر رو تعریف کنی . اسم ID ها رو قابل فهم بده که بعدا تو ویرایش راحت باشی .
بعد از چیدمان مستر حالا باید نوبت ساخت صفحات معمولی ( Content page ) هست
بعد از ساختن یک وب فرم کدا شو این طوری می کنی که از مستر پیروی کنه
PHP:
<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="About.aspx.cs" Inherits="About" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
</asp:Content>
در نهایت اگه مایل بودی که قسمتی رو از مستر تو همون صفحه به صورت پویا عوض کنی باید همچین کدی بنویسی
PHP:
<div id="leftContent">
<p style="text-align: center;">
<asp:Label ID="DateDisplay" runat="server">
</asp:Label>
</p>
<h3>Lessons</h3>
<ul>
<li>TODO</li>
</ul>
<h3>News</h3>
<ul>
<li>TODO</li>
</ul>
</div>
بعد می تونی با دستور ساده اونو عوض کنی
PHP:
protected void Page_Load(object sender, EventArgs e) {
DateDisplay.Text = DateTime.Now.ToString("dddd, MMMM dd");
}
موفق باشی .