如何为 ASP.NET Ajax 重用来自 Telerik RadControls 的 css 样式

Posted

技术标签:

【中文标题】如何为 ASP.NET Ajax 重用来自 Telerik RadControls 的 css 样式【英文标题】:How to reuse css styles from Telerik RadControls for ASP.NET Ajax 【发布时间】:2010-11-27 17:32:08 【问题描述】:

Telerik RadControls 内置了对皮肤的支持,并使用 CSS 来设置所有控件的样式。但是,当将这些控件插入现有网站时,将现有网站的样式与 RadControls 自己的样式合并的最佳方法是什么?

更新:鉴于以下选项(感谢 Zhaph):

    将 RadControl 的 CSS 添加到我的网站 让 RadControl 看起来更像我的网站 将我的网站 CSS 选择添加到 RadControl 样式列表

最好的选择是什么?

选项 2 将要求我保持两组样式。 所以最好是选项 1。这将允许在整个站点重用 RadControls 样式系统,例如按钮和简单的控件看起来一样。

更新 2(从我的回答中移出): 我最终做了一个组合。使用 the FormDecorator 可以在我自己的按钮和输入上重用 RadControls 样式。此外,将 Telerik 提供的皮肤复制到我的 ASP.Net 主题中可以自定义皮肤。

【问题讨论】:

您的意思是如何将 RadControl 的 CSS 添加到您的站点,或者如何使 RadControl 看起来更像您的站点,或者如何将您的站点 CSS 选择添加到 RadControl 样式列表? 哪个最简单。我知道 RC 可以被设计成看起来像我的网站,但接下来我必须保持两组样式。 【参考方案1】:

我不得不承认,我已经有一段时间没有使用 RadControls 了 - 我们在一些 CMS 网站上使用了 CMS RadEditor,它可以自动获取您的样式表,并将类添加到它的列表中,或者您可以手动添加一些。

查看文档,有些内容可能会有所帮助:

    RadEditor CSS Classes and Their Use - 虽然这些通常是由我认为的控件自动添加的? 1. 的链接还告诉您如何执行此操作 几个选项 External CSS Files,声明“默认情况下,RadEditor for ASP.NET AJAX 使用当前页面中可用的 CSS 类”,但也显示了如何加载其他样式表。 Using the ToolsFile.xml - 向下滚动到 元素。

【讨论】:

【参考方案2】:

作为此线程的更新,现在有一个用于 Telerik AJAX 和 MVC 工具的在线“样式生成器”,可以对内置皮肤进行可视化配置/自定义:

http://stylebuilder.telerik.com/

此工具无需了解每个控件的 CSS 类定义,让您可以轻松自定义其中一个内置主题以更好地匹配您的网站。

【讨论】:

不是问题的答案【参考方案3】:

我只是想补充一下; FormDecorator 仅将 css 应用于某些类型的控件。如果你有一个没有样式的控件,你可以像这样访问 Telerik 资源:

.cs 文件 - 具有如下公共属性:

public string HeaderDivBackgroundURL

   get


     string backgroundURL = string.Empty;
     string skin = ((MainMaster)Page.Master).AppSkin;
     backgroundURL = Page.ClientScript.GetWebResourceUrl(typeof(RadSplitter), "Telerik.Web.UI.Skins." + skin + ".Splitter.slideTitleContainerBgr.gif");
     return backgroundURL;
   



在 aspx 页面中(在 RadCodeBlock 中),只有一个内部样式表可以从该属性中读取:

<tel:RadCodeBlock runat="server">
    <style type="text/css">
        .telerikBackgroundMock
        
            background: url('<%= HeaderDivBackgroundURL %>') repeat-x;
        
    </style>
</tel:RadCodeBlock>

我发现这对于将 Telerik 皮肤应用到非 Telerik 控件非常有用,这种方式仍然是动态的,并且会随着皮肤的任何变化而变化。

【讨论】:

以上是关于如何为 ASP.NET Ajax 重用来自 Telerik RadControls 的 css 样式的主要内容,如果未能解决你的问题,请参考以下文章

如何为asp.net 4.0编写IIS预热脚本?

如何为 ASP.net UserControl 指定命名空间?

如何为按钮文本asp.net的特定单词添加下划线

如何为 ngx-intl-tel-input 设置初始值

ASP.NET:如何为 GridView 创建自定义分页器?

如何为 asp.net vnext 使用不同的 .net 语言 (F#)