母版頁

一,什麼是母版頁css

事先把頁面通用或共有的部分抽取出來,作成一個通用性較強的模板,每一個頁面套用此模板能夠簡化設計與編碼服務器

二,母版頁與頁面的區別this

1.擴展名——頁面:.aspx    母版頁:.master編碼

2.聲明指示符和類——頁面:<%@ Page ...%>  派生自Page  母版頁:<%@Master ....%> 派生自MasterPagespa

3.HTML結構:頁面上有完整HTML結構,母版頁通常也會有比較完整HTML結構設計

4.運行:頁面能啓動運行,母版頁不能代理

三,母版頁使用中的難點code

1.交換信息server

(1)從頁面操做母版頁對象

I,如何找到母版頁對象

this.Master——當前頁面的母版頁

II,如何給母版頁的控件賦值

法一:事先給母片頁作好屬性,經過屬性來賦值。

 public string LabelValue
    {
        get
        {
            return Label1.Text;
        }
        set
        {
            Label1.Text = value;
        }
    }

 

法二:經過母版頁對象的FindControl方法來操做。

 protected void Button1_Click(object sender, EventArgs e)
    {
        //取值
        string s = TextBox1.Text;
        //扔到母版頁去
        //1.找到母版頁 Master屬性——當前頁面所套用的母版頁
        MP master = this.Master as MP;
        //2.送到母版的Label中去
        //法一:
        //master.LabelValue = s;
        //法二:
        Label lbl = master.FindControl("Label1") as Label;
        lbl.Text = s;
    }

(2)從母版頁操做頁面

I,使用Session+OnLoadComplete方法配合使用(與用戶控件使用方法相同)

II,使用代理。在母版頁中聲明、建立和調用代理;在頁面的PageLoad把代理掛到頁面的方法中去。

 public delegate void SendValueDelegate(string s);
    public event SendValueDelegate SendValue;

    protected void Button2_Click(object sender, EventArgs e)
    {
        if (SendValue != null)
        {
            SendValue(TextBox1.Text);  //母版頁中的TextBox
        }
    }
 protected void Page_Load(object sender, EventArgs e)
    {
        //找到母版頁
        MP master = this.Master as MP;
        master.SendValue += master_SendValue;
    }

    void master_SendValue(string s)
    {
        TextBox1.Text = s;   //頁面中的Textbox
    }

2.路徑問題(和用戶控件相同)

(1)控件和標籤的路徑:使用runat=server的控件,服務器自動轉化相應的路徑
(2)樣式表路徑(背景圖):使用外部樣式表。在外部樣式表中指定背景圖片,在母版頁中引用進樣式表來。在每一個套用母版頁的頁面中,呈現的時候都會自動進行樣式表引用路徑的轉換。(樣式表引用會自動轉換,但腳本文件的引用是不會自動轉換須要使用ResolveClientUrl()手動轉換腳本文件的路徑)
(3)腳本文件。通常來講在母片頁中引用腳本文件,可是須要使用ResolveClientUrl()方法來轉換路徑。
<script src="<%= ResolveClientUrl("Script/JavaScript.js") %>"></script>
<link href="CSS/StyleSheet.css" rel="stylesheet" />
(4)C#中的路徑。使用"~/sdfas/asdf"這種應用程序路徑。Response.Redirect("~/Default.aspx")

3.腳本與樣式

在母版頁的<head>中會生成一個<ContentPlaceHolder>它是用來爲使用此母版頁的頁面或二級母版頁提供擴展<head>中的樣式和腳本的功能
若是在二級母版頁中,對應的<head>中的<Content>裏面通常須要再加一個<ContentPlaceHolder>用來給頁面使用。

4.命名(與用戶控件相同)

相關文章
相關標籤/搜索