如何在ASP.NET中读取CSS属性?

时间:2011-05-04 14:18:58

标签: c# asp.net css

  

可能重复:
  Is there a CSS parser for C#?

我想在运行时访问外部.css文件中定义的网站的一些CSS属性。我发现有一种方法可以在代码隐藏中以编程方式设置css属性,但我没有遇到任何方法来读取已定义的属性。 (我正在使用C#)

3 个答案:

答案 0 :(得分:4)

您只能使用客户端脚本“在运行时”阅读它们。

使用jQuery非常简单,然后您可以使用AJAX将值发送到服务器,然后处理或存储以供以后使用。

如果它是有效选项让我知道,我可以发布我的意思的基本例子。

基本示例

首先,使用HTML:

<div class="mydiv" id="testDiv">I'm red</div>
<button type="button" id="testButton">Test</button>

CSS:

<style type="text/css">
.mydiv { background-color: red; }
</style>

现在你必须包含jQuery:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>

最后有了这个JS代码:

<script type="text/javascript">
$(document).ready(function() {
    $("#testButton").click(function() {
        var oDiv = $("#testDiv");
        var sColor = oDiv.css("background-color");
        $.get("TestZone.aspx?cssvalue=" + sColor);
        alert("value has been sent");
    });
});
</script>

这将在单击按钮时将测试div的运行时背景颜色发送到服务器,并且在TestZone.aspx后面的代码中,您可以处理该值。该示例通过查询字符串发送它,如果您愿意,可以将其作为POST数据发送。

答案 1 :(得分:0)

这是在后面的代码中获取display的{​​{1}}值的方法:

aWebControl

答案 2 :(得分:0)

ASP.NET 处理页面本身的标记。

您可以使用WebControl.Style属性以编程方式获取或设置内联样式(使用style属性使用元素内联声明的CSS)。这将为您提供一组名称/值对,表示该元素的内联样式。

control.Style["font-family"] = "Verdana";

内联样式被认为是非常不愉快的,所以除非你有充分的理由,否则不要使用它们。

页面的任何外部,您无法本机访问ASP.NET。本质上,外部样式表仅由呈现页面的浏览器加载,并且不由ASP.NET运行时处理,因此您没有机会检查它们。

如果要解释这些文件,则需要手动加载它们并使用CSS解析器解析它们。看看这个问题可能的解决方案: