C# 母版页与主题决策困境

C# 母版页与主题决策困境,c#,asp.net,themes,master-pages,C#,Asp.net,Themes,Master Pages,我对客户的要求感到困惑 我想改变网站的外观和布局-XXX客户端 一般来说,它应该是这样工作的 您可以更改主题,网站将显示不同的图像和颜色 您更改母版页您的网站更改其布局(侧边栏从左向右移动-前提是在母版页中指定了布局) 我对如何做到这一点感到困惑。如果我使用默认母版页设计页面,那么当我切换到其他母版页时,无法保证其他母版页可能具有相同的内容占位符 This would throw an exception 我如何智能地实现多个母版页,而不为每个母版页创建两个页面? 编辑 这种困境是由其

我对客户的要求感到困惑

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

一般来说,它应该是这样工作的

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

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

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

This would throw an exception
我如何智能地实现多个母版页,而不为每个母版页创建两个页面?

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

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

更改要从CSS设置的图像(类似于):

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

CSS可以从左向右移动边栏:

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

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

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

            MasterPageFile = "/Ezra/Forum.master"
    End Select
(我知道我能写出更好的例子)

现在,使用变量、函数等创建一个
BaseMaster
类,并从该类继承网站母版页

现在添加到页面顶部:

<%@ MasterType TypeName="ForumMaster"%>

现在只需使用
Master.YourFunction()
。它将适用于所有母版页


祝你好运

你想得太多了。您应该使用相同的母版页,并加载不同的css,其中侧边栏有“float:right”而不是“no float”或“float:left”@Dementic请查看编辑我忘了提到另一个问题。一位同事开发了他的部分,其中单击的边栏项显示为弹出窗口。我的me开发的页面将点击指向单独的页面。所以你们学院应该计算侧边栏的位置。并相对地弹出它。@demetricarrhh你在工作中不得不忍受的人。我猜世界一直在学习图书馆对不起,伙计,但如果你的朋友不检查侧边栏是否存在,或者它在哪里,他就不是在做他的工作。这样想想,这个城市把一个公共汽车站移到离公路200米远的地方,你的朋友会继续在旧公共汽车站等吗?即使这样做会起作用,但对于OP的需要来说,这也太过分了。yom tov;)