自定义Telerik外观组件未加载其样式

时间:2015-06-26 04:26:45

标签: c# asp.net telerik skinning skin

我按照这些说明操作: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;
}

Button.css

<<空文件>>

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

我想念什么?

1 个答案:

答案 0 :(得分:1)

首先,尝试使用AssemblyBuilder:http://skinsassemblybuilder.telerik.com/,以防问题是生成程序集。

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

通常,您应确保获取所有Web资源。如果有404错误,则有两个可能的原因:

  • 样式表/精​​灵未标记为Embedded Resource(他们的Build Action

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