【问题标题】:How can I read CSS properties in ASP.NET? [duplicate]如何在 ASP.NET 中读取 CSS 属性? [复制]
【发布时间】:2011-05-05 03:05:02
【问题描述】:

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

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

【问题讨论】:

  • 你必须自己解析css文件。
  • "如何在 ASP.NET 中读取 CSS 属性?"不会翻译为“C# 是否有 CSS 解析器?”仅仅因为答案可能是使用解析器,并不会使这成为一个重复的问题。

标签: c# asp.net css


【解决方案1】:

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

使用 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 数据发送。

【讨论】:

  • 是的,我想看一个例子。
【解决方案2】:

这是在后面的代码中获取aWebControl 的display 值的方法:

aWebControl.Style["display"]

【讨论】:

    【解决方案3】:

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

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

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

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

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

    如果您想解释这些文件,您需要手动加载它们并使用 CSS 解析器解析它们。请查看此问题以获取可能的解决方案:

    【讨论】:

      猜你喜欢
      • 2011-09-09
      • 2017-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      • 2016-04-05
      • 2023-03-08
      相关资源
      最近更新 更多