C# 动态更改HTML
我试图创建一个HTML页面,其中“主体”颜色根据从RAM收集的一些数据而变化。如果RAM的填充量超过某个阈值,那么我希望颜色改变C# 动态更改HTML,c#,html,C#,Html,我试图创建一个HTML页面,其中“主体”颜色根据从RAM收集的一些数据而变化。如果RAM的填充量超过某个阈值,那么我希望颜色改变 <body style="background-color:<%= if(MemoryPercentage < 33) { //set to green. } else if(MemoryPercentage < 66) { //set to yellow.
<body style="background-color:<%=
if(MemoryPercentage < 33)
{
//set to green.
}
else if(MemoryPercentage < 66)
{
//set to yellow.
}
else
{
//set to red.
}%>">
谢谢你的帮助
亚伦虽然您可以使用body标记的sytle属性直接应用样式(如中所建议),但围绕HTML的一般最佳实践不鼓励这样做 您应该做的是将这些样式放置在页面上引用的样式表中,然后为类指定不同的名称
然后,在代码中,根据逻辑将具有所需样式的类应用于body元素的class属性。我更喜欢使用CSS类并将逻辑分离出来,以便更具可读性
<style type="text/css">
.warn {
background-color: #00ffff;
}
.error {
background-color: #ff0000;
}
.ok {
background-color: #00ff00;
}
</style>
<%
var klass = MemoryPercentage < 33 : "ok" ? (MemoryPercentage < 66 ? "warn" : "error");
%>
<body class="<%= klass %>">
.警告{
背景色:#00ffff;
}
.错误{
背景色:#ff0000;
}
.好的{
背景色:#00ff00;
}
除了其他答案之外:
将使标签作为HtmlGenericControl
可供Page_Load()
&friends访问,因此您可以处理逻辑并设置Body.CssClass
,而无需模板-y标记。使它不那么凌乱/更易于维护。谢谢!我对这一切都不熟悉,这个答案对我来说并不明显。谢谢你的回答。我从上面的答案开始,但后来修改了我的代码以反映您额外的CSS提示。;)
<style type="text/css">
.warn {
background-color: #00ffff;
}
.error {
background-color: #ff0000;
}
.ok {
background-color: #00ff00;
}
</style>
<%
var klass = MemoryPercentage < 33 : "ok" ? (MemoryPercentage < 66 ? "warn" : "error");
%>
<body class="<%= klass %>">