当前位置:  开发笔记 > 编程语言 > 正文

是否有CSS的ClientScriptManager.RegisterClientScriptInclude等效项

如何解决《是否有CSS的ClientScriptManager.RegisterClientScriptInclude等效项》经验,为你挑选了2个好方法。

该ClientScriptManager.RegisterClientScriptInclude方法允许用户注册与页面对象(检查重复)一个JavaScript参考.

是否有相当于CSS引用的此方法?

类似的问题适用于ClientScriptManager.RegisterClientScriptBlock和ClientScriptManager.RegisterClientScriptResource



1> CMPalmer..:

您可以在ASP.Net代码隐藏类中添加CSS文件的标题链接,如下所示:

HtmlLink link = new HtmlLink();
link.Href = "Cases/EditStyles.css";
link.Attributes.Add("type", "text/css");
link.Attributes.Add("rel", "stylesheet");
this.Header.Controls.Add(link);

您可以预先迭代标题控件以查看它是否已存在.显示的示例来自我的一个项目中的Page_Load,并且位于条件表达式中,如果页面应该处于"编辑"模式,则只添加EditStyles.css.

对于ClientScriptManager.RegisterClientScriptBlock和ClientScriptManager.RegisterClientScriptResource,它们具有用于检查它们是否已经注册的等效函数(例如,IsClientScriptrResourceRegistered).



2> Herb Caudill..:

简答:不.您当然可以使用自己的功能(如CMPalmer建议的那样)来获取CSS嵌入式资源(如Gulzar建议的那样)并将它们嵌入到页面中.

但是,作为一个最佳实践问题,我不确定你为什么要这样做.如果你正在制作一个具有大量CSS样式的可重用控件,我的建议是将类名硬编码到控件的符合标准的输出中,并附带一个建议的样式表.这使您的用户/客户可以选择覆盖您建议的样式以满足他们的需求,并且通常允许他们在他们认为合适的情况下管理他们的CSS设置.

将样式与标记分离是一件好事 - 你已经走在正确的道路上避免各种内置的ASP.NET样式属性,但是你应该把它全部拿走并保持CSS不在你的.dll中.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有