C 更改模板設定

2021-05-23 05:29:14 字數 1595 閱讀 6856

一、使用多種方式為內容頁載入母版頁

預設情況下是給單個內容頁指定乙個母版頁載入,當多個內容頁需載入到同乙個母版頁時,我們可以通過配置檔案為多個內容頁批量載入母版頁,另外,還可以在preinit事件中動態載入母版頁。

1、為單個內容頁載入母版頁時,自動在內容頁的page指令裡加上masterpagefile屬性

2、為多個內容頁批量載入母版頁時,在配置檔案裡新增masterpagefile屬性

此時,配置檔案目錄下的所有內容頁都會批量載入該母版頁,普通頁面會被母版頁忽略,但要記得去掉內容頁裡page指令的masterpagefile屬性,否則會重寫配置檔案裡的masterpage屬性。

3、preinit事件中動態載入母版頁

母版頁的載入在preinit事件中,可以使用如下**動態載入,

protected void page_preinit(object sender, eventargs e)

二、如何在內容頁中修改關聯母版頁的內容

很多時候多個內容頁載入同乙個母版頁,為了使各個內容頁中載入的同乙個母版頁內容有所不同,我們需要修改合併在內容頁中的母版頁內容。

1、修改title標籤屬性

當母版頁的head標籤包含runat=」server」屬性時,可以修改內容頁的title標籤屬性,使其不顯示母版頁的預設title,

方法一是通過內容頁前台設定的page指令的title屬性,

方法二是通過內容頁後台設定page.header.title 的值,

page.header.title = "程式設計改變內容頁標題";

2、修改head標籤屬性

當母版頁的head標籤包含runat=」server」屬性時,我們可以通過後台**修改head標籤包含的標籤屬性,並可以為head標籤動態新增指定的標籤,如「meta」標籤;**中page.header返回的是htmlhead物件,代表head標籤,htmlmeta物件代表meta標籤。

using system.web.ui.htmlcontrols;

…………

protected void page_load(object sender, eventargs e)

3、修改其它伺服器控制項屬性

a、直接修改法:

通過id查詢母版頁控制項,((label)master.findcontrol("label1")).text = "內容頁";

b、間接修改法:

先在母版頁中將需要修改的控制項屬性包裝成公開屬性,

public string bodytitle

set

}

然後在內容頁中轉換母版頁為特定的母版頁型別,

最後在內容頁中呼叫母版頁公開的屬性,設定其值,master.bodytitle = "內容頁";

三、謹慎使用母版頁中控制項的相關url屬性

母版頁中可以包含客戶端控制項和伺服器端控制項,各個內容頁與之合併時,其相關的url屬性需解析為當前內容頁對應可用的url。

1、當使用客戶端控制項相關url屬性時,需要使用page.resolveurl(「相對於整個虛擬目錄的相對路徑」)方法解析為當前內容頁對應可用的url,

如2、當使用伺服器端控制項相關url屬性時,自動解析為當前內容頁對應可用的url,

平衡 選擇模板,更改模板,自作模板

我說個故事,有乙個需要住房的人 a先生 去找房子,找到了間設計不錯的房子便開始入住。乙個月後發現餐桌的椅子設計不適合,這回a先生有幾個處理方式 1.a先生可以選擇換房子,在下次選擇房子設計時,多多注意細節。平衡 每次換房子是很大的成本,在擴張上設計如果不能支援,結果就變成不能擴張!2.a先生可以開始...

CMD更改IP設定

c documents and settings administrator netsh netsh inte ce netsh inte ce ip netsh inte ce ip set address 本地連線 static 192.168.1.100 255.255.248.0 192.1...

ecshop 後台模板設定 》設定模板

ecshop後台 設定模板 出現問題 問題1 不能出現特殊符號 錯誤 正確 問題2 warning file put contents themes liangxin index.dwt failed to open stream permission denied in ecmoban www a...