我有要求支持我的網站頁面的主題。我這樣做的方式是根據當前主題動態選擇母版頁。主題和主頁
我有安裝像這樣
/shared/masterpages/theme1/Master1.master /shared/masterpages/theme1/Master2.master /shared/masterpages/theme1/Master3.master
的目錄結構/shared/masterpages/theme2/Master1.master /shared/masterpages/theme2/Master2.master /shared/masterpages/theme2/Master3.master
,我仍然使用頁面指令在視圖
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/shared/masterpages/theme1/Master1.Master"%>
我仍然想利用該視圖的MasterPageFile屬性,只需更改主題目錄。
我只能想到三種方法來做到這一點,沒有一個聽起來很棒。
- 創建使用OnPreInit改變像this
- 主題創建每個視圖鏈接到母版頁文件,然後將該控制器一些XML文件或數據庫表中的自定義基本視點類。
- 建立一些工具,可讀取所有的意見,並分析他們的的MasterPageFile,(類似於2,但可以在運行時可能被完成。)
選項1似乎是最好的選擇對我來說至今。有沒有人有任何想法如何做到這一點?
我們在MVC中有PreInit嗎?請原諒我的無知! – 2010-03-17 19:58:20
是的,我們似乎這樣做,因爲我剛剛編寫了選項1,它的工作原理。 – Jeff 2010-03-17 21:51:38