【问题标题】:Masterpage Vs Themes decision dilemma母版页与主题的决策困境
【发布时间】:2012-01-11 08:57:15
【问题描述】:

我对客户的要求感到两难

我想更改网站的外观和布局 - XXX 客户端

一般来说应该是这样的,

  • 您更改网站以不同图像和颜色显示的主题。

  • 您更改母版页,您的网站会更改其布局(侧边栏从左向右移动 - 前提是母版页中指定了布局)

我对如何实现这一点感到困惑。如果我使用默认母版页设计我的页面,那么当我切换到另一个母版页时,无法保证其他母版页可能具有相同的内容占位符。

This would throw an exception

如何智能地实现多个母版页,而无需为各自的母版页分别创建 2 个页面?

编辑

困境是由其他同事将自己的想法实施到他开发的页面中造成的,他通过弹出窗口在侧边栏上显示表单链接点击我的指向单独的页面。

【问题讨论】:

  • 你想多了。您应该使用相同的母版页,并加载不同的 css,其中侧边栏有 'float:right' 而不是 float 或 'float:left'
  • @Dementic 请查看编辑 我忘了提到另一个问题。一位同事开发了他的部分,其中单击的侧边栏项目显示为弹出窗口。我开发的页面将点击定向到单独的页面。
  • 所以你的大学应该计算侧边栏的位置。并相对于它弹出它。
  • @Dementic arrhhh 你在工作中必须忍受的人。我猜世界正在学习图书馆
  • 对不起,伙计,但如果你的朋友没有检查侧边栏是否存在,或者它在哪里,他没有做他的工作。想一想,城里再往路200米处移动一个公交站,你的朋友还会在老公交站等吗?

标签: c# asp.net themes master-pages


【解决方案1】:

您应该能够在 CSS 中实现这一点,而无需更改母版页或主题。这样您就可以保证内容占位符不变。

将您的图像更改为从 CSS 设置(类似):

.imageFromCss { background:url("../images/myimage.png");}

而且 CSS 可以从左到右移动侧边栏:

.sidebar {display:inline; float:right;}

【讨论】:

    【解决方案2】:

    您可以在 PreIint 上动态更改母版页。

        Select Case iForum
            Case 6 '41 
                MasterPageFile = "/Children/Forum.master"
            Case Else
    
                MasterPageFile = "/Ezra/Forum.master"
        End Select
    

    (我知道我可以写出更好的例子)

    现在,使用您的变量、函数等创建一个BaseMaster 类,并从该类继承网站 MasterPage。

    现在添加到页面顶部:

    <%@ MasterType TypeName="ForumMaster"%>
    

    现在只需使用Master.YourFunction()。它适用于所有 MasterPages。

    祝你好运!

    【讨论】:

    • 即使这会起作用,但对于 OP 的需求来说,它是多余的。 yom tov ;)
    猜你喜欢
    • 2010-10-06
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-15
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    相关资源
    最近更新 更多