我想知道是否有可能让 ASP.NET AJAX 自定义用户控件“注册”它对 CSS 文件的使用,就像对 JS 文件一样。?
例如:实现 IScriptControl 接口允许脚本管理器调用 GetScriptReferences(),CSS 文件是否有类似的东西?
我想知道是否有可能让 ASP.NET AJAX 自定义用户控件“注册”它对 CSS 文件的使用,就像对 JS 文件一样。?
例如:实现 IScriptControl 接口允许脚本管理器调用 GetScriptReferences(),CSS 文件是否有类似的东西?
不。
您可以编写自己的方法来使用嵌入式资源并生成 html 以将它们写入页面。
但是,作为最佳实践方法,我不建议这样做。您应该明确区分样式和标记。如果您想编写一个依赖于样式表的自定义控件,那么我建议您提供一个默认的 css 文件以及您的控件。
编辑(回答评论中的问题)
您可以运行此代码以将 CSS 文件的引用添加到您的页面(在运行时)。请注意,由于您使用的是RegisterClientScriptBlock 方法,因此您可以管理插入重复。以下是该方法链接的摘录:
客户端脚本由其密钥和类型唯一标识。具有相同键和类型的脚本被认为是重复的。页面中只能注册一个具有给定类型和密钥对的脚本。尝试注册已注册的脚本不会创建该脚本的副本。
StringBuilder sb = new StringBuilder();
sb.Append(@"<link rel=""stylesheet"" type=""text/css"" href=""");
sb.Append(this.Page.ClientScript.GetWebResourceUrl(this.GetType(), resourceName));
sb.Append(@""" />");
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MyCSS", sb.ToString());