【问题标题】:per client master page separation每个客户端母版页分离
【发布时间】:2011-05-03 22:33:23
【问题描述】:

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

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

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

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

所有这一切的不利方面是,所有母版页都保存在一个 Web 项目中,如果我们试图前往与客户端无关的主分支,并且除非删除其他母版页,否则感觉有点不对劲作为部署的一部分,即使它们没有被使用,客户端也会在他们的服务器上获得它们的副本,并且最好我们不希望一个客户端能够切换到另一个客户端视图等(不是安全明智的它会有什么影响)

【问题讨论】:

    标签: asp.net dynamic client master-pages


    【解决方案1】:

    您查看过Themes。我们以前曾为这类事情使用过主题。

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

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

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

    【讨论】:

    • 是的,我们使用主题,但我试图避免的整件事是包括其他客户的设计等在不需要时被包括在内
    猜你喜欢
    • 1970-01-01
    • 2011-07-25
    • 2018-10-17
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多