每个客户端母版页分离

时间:2011-05-03 11:02:30

标签: asp.net dynamic client master-pages

在我正在开发的当前项目中,我们正在开发一种产品,最终可以在各种不同的客户端站点上使用。目前的工作方式是所有客户端的所有代码都包含在一个解决方案中,目前只有大约5个左右的客户端因此可管理但我想重组这个以便我们可以将这些位移出到客户特定区域。

关于各种客户的实际装配,我认为我们可以使用MEF或IOC轻松实现灵活性。

我不确定的领域是网络方面的事情。每个客户端当前都有自己的母版页,这些母版页是完全不同的,除了具有相同的内容区域之外,定制可能不太可能仅通过纯CSS实现。

有没有办法有一个通常会被使用的“基础”母版页然后如果我们想要部署到客户端A我们可以只注入客户端作为母版页。目前,这是由所有引用Master.master作为其母版页的内容页面处理,然后有一个通用的Master.master,当部署到客户端A时,我们将Master.master重命名为某些内容并重命名为客户端专门定制的母版页A(ClientA.master)到Master.master并部署。

所有这些的缺点是所有主页都保存在一个Web项目中,如果我们试图前往客户端不可知的主分支,并且除非删除其他母版页,感觉有点不对作为部署的一部分,客户端将在他们的服务器上获得它们的副本,即使它们没有被使用,并且我们不希望有一个客户端能够切换到另一个客户端视图等(不是那样的安全性)有任何影响)

1 个答案:

答案 0 :(得分:1)

你签出了Themes吗?我们以前曾经使用过这类主题。

如果没有足够的力量,你可以在pre_init阶段做你想做的事。我们在某些地方使用此代码

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

您当然可以使用逻辑来确定您希望使用的母版页。