在許多情況下
我們需要根據項目的運行情況
在頁面運行時才決定使用哪個母版頁
例如在企業管理系統中
我們要求公司的某個部門需要使用一個母版頁
而其他部門則使用另外一個母版頁
顯然
這時候前面母版頁調用方式是不能夠滿足的
它要求我們必須以編程方式來動態設置母版頁
其實
通過編程方式來動態設置母版頁非常方便
你只需設置Page
MasterPageFile屬性就可以了
但這一步必須在Page
Init事件階段完成
在這之後
再設置這一屬性會產生一個異常
如下面的代碼所示
protected void Page_PreInit(object sender
EventArgs e)
{
Page
MasterPageFile =
~/Test
Master
;
}
如果你將Page
MasterPageFile屬性設置在Page_Load事件裡
頁面將會提示錯誤信息
The
MasterPageFile
property can only be set in or before the
Page_PreInit
event
因此
你必須將Page
MasterPageFile屬性設置在Page
Init事件裡
在使用以編程方式來動態設置母版頁時
還必須注意如下幾點
)確保在nfig文件中或者內容頁面的@Page指令中沒有引用MasterPageFile的<pages>元素
只有這樣才會得到成功加載的頁面
並且引入了母版頁
)確保內容頁面沒有使用MasterType指令來創建對母版頁的強類型引用
)確保內容頁面和所設置的的母版頁完全兼容
From:http://tw.wingwit.com/Article/program/net/201311/11384.html