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

将内联CSS应用于ASP.NET服务器控件

如何解决《将内联CSS应用于ASP.NET服务器控件》经验,为你挑选了3个好方法。

基于我运行的简单测试,我认为不可能将内联在控件中包含样式元素(例如块)并不是一个好主意.如果可以的话,它可能会在某些浏览器中产生影响,但它不会验证并且是不好的做法.

如果要将样式内联应用于元素,则其中任何一个都可以工作:

C#

myControl.Attributes["style"] = "color:red";

myControl.Attributes.Add("style", "color:red");

VB.NET

myControl.Attributes("style") = "color:red";

myControl.Attributes.Add("style", "color:red");

但请记住,这将替换在style属性上设置的任何现有样式.如果您尝试在代码中的多个位置设置样式,这可能是一个问题,因此需要注意.

使用CSS类会更好,因为您可以对多个样式声明进行分组并避免冗余和页面膨胀.从WebControl派生的所有控件都有一个可以使用的CssClass属性,但请注意不要覆盖已在其他地方应用的现有类.



3> Hutch..:

如果使用Attributes ["style"],则每次调用时都会覆盖该样式.如果您在两个不同的代码段中进行调用,则可能会出现问题.同样,它可能是一个问题,因为框架包括基本设置的属性,如边框和颜色,也将作为内联样式应用.这是一个例子:

// wrong: first style will be overwritten
myControl.Attributes["style"] = "text-align:center";
// in some other section of code
myControl.Attributes["style"] = "width:100%";

为了好好玩,请设置这样的样式:

// correct: both style settings are applied
myControl.Attributes.CssStyle.Add("text-align", "center");
// in some other section of code
myControl.Attributes.CssStyle.Add("width", "100%");

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