asp.net總結之母片

來源:互聯網
上載者:User

1、使用母片的時候,內容的Content控制項必須與主版頁面的ContentPlaceHolder控制項一一對應,不能多隻能少。

2、主版頁面的ContentPlaceHolder控制項如果有預設內容,內容頁如果沒有Content控制項與之對應,則顯示主版頁面的內容。否則,即使Content控制項的內容為空白,也不會顯示主版頁面的預設內容。

3、如果內容頁要與主版頁面的某個控制項互動(其它互動類似),步驟如下:

  1)在主版頁面類代碼中建立一個public屬性,它的get、set和該控制項的值對應起來。(假如主版頁面有個控制項ID為masterlbl)

  

public string Masterlbl        {            get { return masterlbl.Text; }            set { masterlbl.Text = value; }        }

  2)在內容頁類中要可以如下調用

((MyMaster) Master).Masterlbl = "test";

   這裡的Master是母片類的一個對象,需要把它轉換成對應的母片的類型才能進行互動!當然還有其它方法,但這個方法最方便。這樣就可以修改母片中控制項masterlbl的值啦。

4、母片和母片是可以嵌套的,嵌套的時候子主版頁面也要跟內容頁一樣要有Content控制項與父主版頁面對應。使用子主版頁面的內容頁就不用有Content控制項去跟上一級母片對應了,只要對應它的本身的主版頁面的ContentPlaceHolder控制項就行了。如果子母片中要有ContentPlaceHolder控制項,則必須放置在與父母片對應的Content控制項中,如下

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">    <asp:ContentPlaceHolder runat="server" ID="ContentPlaceHolder2"></asp:ContentPlaceHolder></asp:Content>

內容頁主要與ContentPlaceHolder2對應即可!

5、主版頁面相對路徑問題

假如主版頁面中有一個圖片

<img src="t.jpg" />

如果母片與圖片在同一級目錄,而內容頁與圖片不同,那圖片將會顯示不出來,因為圖片的地址會被內容頁替換成相對內容頁的地址。
  解決方案:

  1)使用完整路徑<%=ResolveUrl("~/Scripts/jquery-1.4.1.min.js") %> (最好)

  2)使用伺服器控制項代替(js和css非控制項解決不了)

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.