2010-10-06 45 views
0

我正在設計一個企業Web應用程序,它將具有單個代碼庫和單個數據庫(不需要基於租戶的數據庫的任何靈活性),但基於客戶端的不同演示文稿。我們可能有3到4個不同的客戶端(網站)使用相同的核心邏輯和骨架,但客戶端特定的頁眉,頁腳,圖像,CSS等。我需要一個多表示解決方案,然後一個完整的多租戶。我在網上看到的大部分樣本都面向全面的多租戶,我認爲我不需要那些複雜的東西。我發現這裏的一些信息,這些信息在我的情況非常有用:Multi Presentation企業解決方案

http://jasonjano.wordpress.com/2010/02/22/multi-presentation-websites-for-c/

如上鍊接的建議,我可以根據我在網上申請按下面的配置域來識別並抓住一個唯一的ID .config文件:

<configuration> 
    <appSettings> 
     <add key="MySite1.MyDomain.com" value="1"/> 
     <add key="www.MySite1.MyDomain.com" value="1"/> 
     <add key="MySite2.MyDomain.com" value="2"/> 
     <add key="localhost" value="1"/> 
    </appSettings> 
</configuration> 

之後,我該如何根據ID動態選擇我的母版頁,圖像和css文件?另外,我將從數據庫中填充「CustomAppSettings」類(如文章中建議的那樣),建議將它靜態化以便可以在不同的圖層中訪問它?否則建議的方式是什麼?

您的建議將非常感激。

回答

0

很高興看到您正在使用那篇文章。關於答案,我通常使用從system.web.ui.page繼承的自定義頁面類。在自定義頁面類的page_init可以設置母版頁等。

類似的信息(僞代碼)

class MyCustomPage : System.Web.UI.Page 
{ 
public void Page_Init(object sender, eventargs e) { 
this.MasterPageFile = CurrentSettings.MasterPageFile <Or however you are getting your masterpage file> 
} 

然後,在您的網頁,從MyCustomPage類,而不是繼承系統。 Web.UI.Page。

好運

+0

這不是特定於ASP.NET Webforms的答案嗎?不是MVC? (也許我很困惑) – 2010-10-07 03:16:07