2010-10-06 46 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