如果满足特定条件,我想为我的 div 标签添加一个简单的内联样式。
我能够成功应用“禁用”类,但无法显示我的光标样式。
<div class="item @(item.AvailableTimeSlots == "0" ? "disabled" : "")" @(item.AvailableTimeSlots == "0" ? "style='cursor: default;'" : "")>
任何指针?
如果满足特定条件,我想为我的 div 标签添加一个简单的内联样式。
我能够成功应用“禁用”类,但无法显示我的光标样式。
<div class="item @(item.AvailableTimeSlots == "0" ? "disabled" : "")" @(item.AvailableTimeSlots == "0" ? "style='cursor: default;'" : "")>
任何指针?
工作片段
<div class="item @("0" == "0" ? "disabled" : "")" @Html.Raw("0" == "0" ? "style='cursor: default;'" : "")>
添加Html.Raw()
解决了我的问题。没有它,你最终会得到类似的东西:
<div class="item disabled" style='cursor: default;'>
我尝试了几种不同的浏览器,每个浏览器在检查 DOM 时都给出了不同的结果。IE8 破坏它;Chrome 错误地对其进行了改造;IE9 似乎正确地使其格式正确。
几点注意事项:
item.AvailableTimeSlots
应该是一个整数,而不是一个字符串。任何指针?
尽可能避免使用内联样式总是最好的。我建议您将cursor
代码移动到它自己的 CSS 类中,并纯粹使用类,例如
CSS
.default {
cursor: default;
}
.disabled {
...
}
看法
@{
var itemCLass = @item.AvailableTimeSlots == "0" ? "disabled" : "default";
}
<div class="item @itemClass" />