4

如果满足特定条件,我想为我的 div 标签添加一个简单的内联样式。

我能够成功应用“禁用”类,但无法显示我的光标样式。

<div class="item  @(item.AvailableTimeSlots == "0" ? "disabled" : "")" @(item.AvailableTimeSlots == "0" ? "style='cursor: default;'" : "")>

任何指针?

4

2 回答 2

3

工作片段

<div class="item  @("0" == "0" ? "disabled" : "")" @Html.Raw("0" == "0" ? "style='cursor: default;'" : "")>

添加Html.Raw()解决了我的问题。没有它,你最终会得到类似的东西:

<div class="item  disabled" style=&#39;cursor: default;&#39;>

我尝试了几种不同的浏览器,每个浏览器在检查 DOM 时都给出了不同的结果。IE8 破坏它;Chrome 错误地对其进行了改造;IE9 似乎正确地使其格式正确。

几点注意事项:

  • @James 删除内联样式的解决方案是一个很好的解决方案。当前的代码真的很难阅读,无论如何内联样式都不是一个好主意。
  • 它看起来item.AvailableTimeSlots应该是一个整数,而不是一个字符串。
于 2012-10-29T14:06:05.570 回答
2

任何指针?

尽可能避免使用内联样式总是最好的。我建议您将cursor代码移动到它自己的 CSS 类中,并纯粹使用类,例如

CSS

.default {
    cursor: default;
}
.disabled {
    ...
}

看法

@{
    var itemCLass = @item.AvailableTimeSlots == "0" ? "disabled" : "default";
}
<div class="item @itemClass" />
于 2012-10-29T13:34:19.663 回答