2011-05-03 50 views
0

在我正在開發的當前項目上,我們正在開發一種產品,最終可以在各種不同的客戶端網站上使用。目前,所有客戶端的所有代碼都包含在一個解決方案中,目前只有5個左右的客戶端可以管理,但我想重新組織這個,這樣我們可以將這些位移出來到客戶特定的領域。每個客戶端母版頁分離

關於各種客戶的實際組裝,我認爲我們可以輕鬆實現使用MEF或IOC的靈活性。

我不確定的區域是網絡的一面。每個客戶端當前都有自己的母版頁,除了具有相同的內容區域之外,這些母版頁完全不同,定製可能無法通過純CSS實現。

有沒有辦法讓一個通常會被使用的「基礎」masterpage,然後如果我們想部署到客戶端A,我們可以只是注入客戶端作爲母版頁。目前,所有內容頁面都將Master.master的所有主頁作爲主頁面進行處理,然後有一個通用的Master.master,在部署到客戶端A時,我們將Master.master重命名爲某種內容,併爲客戶端重新命名專門定製的主頁面一個(ClientA.master)給Master.master並部署。

所有這一切的缺點是,所有的母版頁都保存在一個Web項目中,如果我們試圖訪問客戶不可知的主分支,並且除非其他母版頁是作爲部署的一部分被刪除,即使客戶端沒有被使用,他們也會在他們的服務器上獲得它們的副本,並且最好我們不希望有一個客戶端能夠切換到另一個客戶端視圖等等。會有什麼影響)

回答

1

您是否已經簽出Themes。我們之前已經使用過這類主題。

如果這樣沒有足夠的動力給你,你可以在pre_init階段做你想做的事情。我們在一些地方使用此代碼

protected void Page_PreInit(object sender, EventArgs e) 
    { 
     this.MasterPageFile = "~/page.master"; 
    } 

您當然可以使用邏輯來確定您希望使用哪個主頁面。

+0

是的,我們使用的主題,但我試圖避免的整個事情是包括其他客戶設計等等,當他們不需要 – 2011-05-05 04:03:35