自定义Telerik皮肤组件未加载其样式

本文关键字:加载 样式 组件 Telerik 自定义 | 更新日期: 2023-09-27 18:00:02

我遵循了以下说明:http://docs.telerik.com/devtools/aspnet-ajax/general-information/controlling-visual-appearance/how-to-load-skins-from-external-assemblies

Button.Test.css

.RadButton_Test {
  background-color: red !important;
}

按钮.css

<lt;空文件>>

RadButton.cs

[assembly: System.Web.UI.WebResource("Skins.Button.css", "text/css", PerformSubstitution = true)]
[assembly: System.Web.UI.WebResource("Skins.Test.Button.css", "text/css", PerformSubstitution = true)]
namespace Skins
{
  [Telerik.Web.EmbeddedSkin("Button", null, typeof(RadButton))] 
  [Telerik.Web.EmbeddedSkin("Button", "Test", typeof(RadButton))] 
  public class RadButton
  {
  }
}

web.config

<add key="Telerik.Web.SkinsAssembly" value="Skins"/>

page.aspx

<telerik:RadButton ID="btn" ButtonType="LinkButton" runat="server" Skin="Test" Text="GO" OnClick="btnClick"></telerik:RadButton>        

按钮不是红色的。页面呈现良好,但没有样式。当我将skin="Test"更改为skin="TestXX"时,我得到一个错误,即没有嵌入的皮肤TestXX,因此它们似乎已正确加载。按钮渲染为具有类RadButton_Test

我想念什么?

自定义Telerik皮肤组件未加载其样式

首先,尝试AssemblyBuilder:http://skinsassemblybuilder.telerik.com/以防问题与程序集的生成有关。

如果这没有帮助,请尝试此线程中的示例项目:http://www.telerik.com/support/code-library/how-to-load-skins-from-external-assemblies.将文件和命名空间替换为自己的文件后,可以尝试在那里重命名它们。

通常,您应该确保所有的网络资源都已获取。如果有404个错误,有两个可能的原因:

  • 样式表/精灵没有标记为Embedded Resource(这是它们的Build Action

  • 路径和/或命名空间不正确。以下是一些注册内置皮肤的代码,以便您可以将其用作参考:http://pastebin.com/BJJbgngB(使用的C#语法破坏了SO的降价)