在后面的代码中更改 css 类
Posted
技术标签:
【中文标题】在后面的代码中更改 css 类【英文标题】:change css class in code behind 【发布时间】: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 时,它只是重置为应用程序默认值。 (但在调试中,我看到它确实得到了正确的类..)
您知道上面的代码有什么干扰或有什么问题吗? 提前致谢!
【问题讨论】:
您在页面生命周期的哪个位置运行代码? 感谢大家!现在可以了! 【参考方案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");
【讨论】:
以上是关于在后面的代码中更改 css 类的主要内容,如果未能解决你的问题,请参考以下文章
如何在后面的代码中更改 VirtualizingStackPanel 方向?