基于主题的用户控件 asp.net
有没有办法根据网站使用的主题来使用特定的用户控件?
设想: 我在我的 asp.net 项目中使用主题。 我将拥有相同的代码库和不同的外观和感觉,因此使用主题和 皮肤。 现在的问题是我是否想要有不同的标题和内容? 页脚(用户控件)取决于网站的类型,我们如何在主题的帮助下做到这一点。
Is there any way to use a specific usercontrols depending on which theme the site is using?
Scenario:
I am using themes in my asp.net project. I am going to have same codebase and different look and feel and so using themes & skins.
Now the problem is if I want to have different headers & footers (which are usercontrols) depending on the type of site, how can we do with the help of themes.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,可以使用主题修改控件层次结构。
这是通过 Themeable 的 ITemplate 属性实现的。
例如,如果您有一个自定义控件,该控件仅具有可主题化的 Contents 属性,您可以说:
现在您可以将 Contents 内的控件替换为不同的主题,如下所示 - 对于 ThemeA 你将拥有以下皮肤:
对于 ThemeB,你将拥有以下皮肤:
然后此页面将在 ThemeA 下呈现一个 Button 并ThemeB 下的 TextBox:
Yes, control hierarchies can be modified with themes.
This is made possible by ITemplate properties that are Themeable.
If, for instance, you had a custom control that simply has a themeable Contents property you could say:
Now you could swap out the controls inside Contents for different themes as follows - for ThemeA you would have the following skin:
And for ThemeB you would have the following skin:
Then this page would render a Button under ThemeA and a TextBox under ThemeB: