【问题标题】:Change Telerik's ASP.NET RadToolbar Skin with client-side code使用客户端代码更改 Telerik 的 ASP.NET RadToolbar 皮肤
【发布时间】:2013-04-29 07:37:45
【问题描述】:
我在几乎没有没有回发的页面中使用 RadToolbar 控件。
此页面的功能之一是多个主题。
现在,我需要根据我的主题设置 RadToolbar 的皮肤。
我看到 RadToolbar 对象的客户端 API 包含一个“get_skin”方法,该方法正确返回服务器端分配的皮肤名称的名称。但是该对象没有“set_skin”方法。
我要问的是,是否有办法改变工具栏的皮肤,哪个客户端代码?如果没有,你还有什么其他的建议。
谢谢
【问题讨论】:
标签:
javascript
asp.net
.net
telerik
【解决方案1】:
我确实以某种方式解决了这个问题。这很有趣。
- 我发现
RadToolbar 在我的页面中针对不同主题呈现了不同的样式表文件。
对于每个皮肤(即“Black”),将为该皮肤(即“RadToolbar_Black”)渲染 css 类
- 我将这些样式表添加到我自己的代码中,并下载了这些 css 类中使用的每个图像。之后,我将 url() 地址更改为我保存的图像文件。我还将皮肤名称(即“_Black”)替换为“_Default”
(样式表文件和图像都是 Telerik.Web.UI 程序集中的 Web 资源,使用 WebResource.axd 处理程序引用。)
- 我为每个主题创建了一个单独的
.css 文件。
- 现在我禁用了 Telerik 的皮肤。 Propertis
EnableEmbeddedSkins 和 EnableEmbeddedBaseStylesheet 做到了。
- 将 RadToolbar 的外观设置为“默认”或直接忽略分配。
- 最后我需要做的是使用Javascript在这些css文件之间切换来改变工具栏的主题。