[英]How to get a CSS class property value in code behind
如何获得CSS类中定义的样式的值?
标记具有:
CssClass="grdTextBox" Text="aaaaaaaabbbbbbbccccccc"
CSS样式是:
.grdTextBox {FONT-SIZE: 12px; FONT-FAMILY: verdana; }
.cs文件具有:
string cssClass = txtComments.CssClass;
Response.Write(" cssClass is : " + cssClass);
如何从后面的代码中找到字体大小或字体系列的值?
我可以找到它们是否在样式标签中,或者它们是否是文本框的属性。 但是,如果它们在CSS类中定义,那么如何找到它们呢?
你不知道 由于缺乏真实的解释,CSS是一种客户端技术。 .css文件中的样式只有在浏览器将其呈现之前才与html元素直接关联。
我面临着同样的问题,我认为可以通过打开.css文件并手动搜索所请求的样式,然后返回其内容来解决。
这将需要手动解析,也许您有多个.css文件,或者复杂的样式使此解决方案有些可怕,但我认为这比“不可能”要好。
我希望听到更优雅的解决方案。
Me.Menu.Style("margin-top") = "170px"
如果要使用内联样式,则可以更改它,否则可以编写自己的CSS类型对象来操纵CSS。
实际上,您可以像这样建立一个库,以便人们可以下载和贡献。
您可以使用HtmlAgilityPack来完成。 示例代码:
var doc = new HtmlAgilityPack.HtmlDocument();
doc.Load("PageUrl");
IList<HtmlNode> nodes = doc.QuerySelectorAll("div .my-class[data-attr=123] > ul li");
HtmlNode node = nodes.QuerySelector("p.with-this-class span[data-myattr]");
你做不到。
您在ASPX中声明的样式将合并到输出中,但据我所知,它在后面的代码中不可见。
仅当您向集合中添加其他样式(如MyControl.Style.Add(“ font-size”,“ 12px”))时,您才会在其中使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.