【问题标题】:change css class in code behind在后面的代码中更改 css 类
【发布时间】:2016-06-05 06:26:45
【问题描述】:

我正在尝试做一些简单的事情(在 c# 中),但它不起作用。

我想要实现的目标: 通过更改 css 类来更改标签的文本颜色。

到目前为止我得到了什么:

CSS:

.feedback {
    font-family: inherit;
    font-weight: normal;
    font-style: italic;
    font-size: 10pt;
}
.feedback.success {
    color: #71d398;
}
.feedback.fail {
  color: #75b9e6;
}

C#:

(...)
FeedbackLabel.Attributes.Add("Class", ".feedback.fail"); //one way I tried
FeedbackLabel.Text = "Error";
(...)
FeedbackLabel.CssClass = ".feedback.success"; //the other way I tried
FeedbackLabel.Text = "Done";
(...)

我的问题: 它获取类,但对字体没有任何影响。 我什至尝试在标签上将 .feedback.fail 设置为默认值,并且仅在成功时更改它。结果是启动后 .feedback.fail 处于活动状态(包括所有设置),但是当它应该更改为 .feedback.success 时,它只是重置为应用程序默认值。 (但在调试中,我看到它确实得到了正确的类..)

您知道上面的代码有什么干扰或有什么问题吗? 提前致谢!

【问题讨论】:

  • 您在页面生命周期的哪个位置运行代码?
  • 感谢大家!现在可以了!

标签: c# css asp.net


【解决方案1】:

试试这个FeedbackLabel.Attributes.Add("Class", "feedback fail") .

您不应该使用. 来指定元素的类属性值

【讨论】:

  • 感谢帕万!这几乎可以工作!只是颜色不会改变......但多亏了你,我尝试了 FeedbackLabel.CssClass = "feedback fail"; (也没有点),这很完美。
【解决方案2】:

很遗憾,这里没有对我有用的答案,所以我决定为这个问题提供自己的答案:

FeedbackLabel.Style["border"] = "1px solid black";

这将是一个关于如何更改单个样式元素的示例,但仍不确定如何更改类。

【讨论】:

    【解决方案3】:

    试试这个

    FeedbackLabel.Attributes.Remove("class");
    
    if(succcess)
      FeedbackLabel.Attributes.Add("class","feedback success");
    else
      FeedbackLabel.Attributes.Add("class","feedback fail");
    

    【讨论】:

      猜你喜欢
      • 2012-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-19
      • 2010-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多