c# - 字段中css类的动态变化
问题描述
我想更改 (td) 字段中的颜色 [更改颜色 - 更改/转移到不同的 css 类?]
条件: 条件来自“if”查询。如果 (sb == true) 则没有任何变化,如果 (sb == false) "[else]" 那么 (td class="InputsForUserColor1") 中的 css 类可能会更改为 class="InputsForUserColor1Change"。
注释 (td class="InputsForUserColor2") 不变
我的 html 代码(razor/C#): 变量“sb”在“if”之外,假设不同的值
@for (int sth = 0; sth< ViewBag.sth; sth++)
{
if (sb == true)
{
varSth = "00:00";
}
else
{
varSth = "20:00";
}
@for (int sthElse = 0; sthElse< ViewBag.sthElse; sthElse++)
{
if (nr_columns == 2)
{
<td id="td01" class="InputsForUserColor1"></td>
}
if (nr_columns == 3)
{
<td id="td01" class="InputsForUserColor2"></td>
}
}
}
我的 CSS 代码:
.InputsForUserColor1, area {
background-color: papayawhip;
border: hidden;
align-content: center;
align-items: center;
vertical-align: central;
}
.InputsForUserColor1Change, area {
background-color: white;
border: hidden;
align-content: center;
align-items: center;
vertical-align: central;
}
我个人没有写它,因为我不知道如何处理它
解决方案
如果颜色应该只设置一次,而页面在服务器上呈现:
- 在 CSHMTL 页面的变量中设置目标类(带有 的 Razor C# 代码块
@{}
)。 使用此变量的值(Razor
@variableName
语法)。@* assume that 'sb' does not change its value inside the for loop *@ @{ var userColor1 = sb == true ? "InputsForUserColor1" : "InputsForUserColor1Change"; } @for (int sth = 0; sth< ViewBag.sth; sth++) { @for (int sthElse = 0; sthElse< ViewBag.sthElse; sthElse++) { if (nr_columns == 2) { <td id="td01" class="@userColor1"></td> } else if (nr_columns == 3) { <td id="td01" class="InputsForUserColor2"></td> } } }
当页面交付给客户端浏览器时,这将使用正确的类集呈现 HTML。
如果由于客户端(浏览器)端的用户交互而需要更改颜色,这将不起作用。在这种情况下,您必须使用客户端脚本 (JavaScript) 来动态更改颜色。为此,请参阅jQuery addClass。
推荐阅读
- mysql - 如何在同一列上创建多个搜索条件
- reactjs - 弹出创建反应应用程序笑话覆盖率报告不准确
- laravel - 请帮助使用 Flutter 和 Laravel 上传文件
- drupal - 如何将 Stripe Connect 与 Drupal 8 集成?
- sql - 如何从具有多个依赖项的表中删除列?
- r - 如何使用 dcast 重塑自定义函数中的数据?
- apache-spark - spark sql字符串到时间戳丢失毫秒
- python - 使用 Python 以递归方式将 .pgsql 重命名为 .sql 文件
- c++ - 如何使 FindBoost.cmake 静态库搜索适应 x32 增强库?
- git - gerrit能否支持文件夹级权限