我希望我的神秘标题不是太神秘,但我会尝试解释我真正想做的事情。
我有一个母版页“A”,它有子页“B”和“C”。这是用 ASP.NET 中的标准母版页模型实现的。
我的网站有两个主题“T1”和“T2”。他们实际上代表不同的合作伙伴,T1 是我们自己的公司,T2 是合作伙伴。
我想根据我使用的主题在“B”和“C”页上显示特定的内容。例如,我可能想在“B”页上插入额外的按钮或图形,专门用于主题“T2”的合作伙伴。根据页面本身,此内容将位于页面上的任意位置。一些合作伙伴甚至可能不会使用此功能。
问题是我想尽可能以声明方式执行此操作,并尽量减少页面对主题的了解。
这就是“反向”母版页概念的用武之地。我想在子页面上定义一个可以插入“主题”特定内容的区域。(我说的是“主题”,因为这就是 ASP.NET 使用的内容——而且很可能是我将内容绑定到的内容)。
所以你可能想知道:
- 为什么您不能为此使用母版页并添加额外的内容部分?原因是内容可能出现在页面上特定于该页面的位置的任何位置。
- 为什么不能使用“嵌套”母版页?本质上是一样的原因。
可能的解决方案:
我想知道创建某种用户控件,该控件将有一个文本键,表示将在那里插入什么类型的内容。用户控件必须知道要为每个“主题”显示什么——可能是通过动态创建相关的附加用户控件。
这似乎有点笨拙 - 所以我想知道其他人可能为类似情况创建了什么样的解决方案。