Asp.net mvc 基于模型值向图元添加样式

Asp.net mvc 基于模型值向图元添加样式,asp.net-mvc,Asp.net Mvc,如果满足某个条件,我想在div标记中添加一个简单的内联样式 我能够成功地应用“disabled”类,但无法显示光标样式 <div class="item @(item.AvailableTimeSlots == "0" ? "disabled" : "")" @(item.AvailableTimeSlots == "0" ? "style='cursor: default;'" : "")> 有什么建议吗 有什么建议吗 只要有可能,最好尽量避免使用内联样式。我建议您将光标代

如果满足某个条件,我想在div标记中添加一个简单的内联样式

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

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

有什么建议吗

有什么建议吗

只要有可能,最好尽量避免使用内联样式。我建议您将
光标
代码移到它自己的CSS类中&只使用类,例如

CSS

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

@{
    var itemCLass = @item.AvailableTimeSlots == "0" ? "disabled" : "default";
}
<div class="item @itemClass" />
@{
var itemCLass=@item.AvailableTimeSlots==“0”?“已禁用”:“默认值”;
}

工作片段

<div class="item  @("0" == "0" ? "disabled" : "")" @Html.Raw("0" == "0" ? "style='cursor: default;'" : "")>
我尝试了几种不同的浏览器,在检查DOM时,每种浏览器都给出了不同的结果。IE8破坏了它;铬不正确地重新加工它;IE9似乎正确地使其格式良好

几点注意:

  • @James删除内联样式的解决方案是一个很好的解决方案。当前的代码很难阅读,内联样式也很少是个好主意
  • 它看起来像
    项。AvailableTimeSlots
    应该是整数,而不是字符串

您正在为
div
指定默认光标。您希望发生什么?我希望它将样式声明放入元素中,但事实并非如此。通过其他类,div是一个指针-我想禁用它并删除指针属性,而不进入主类。好的,这就是我要问的,因为默认行为是指针,我不确定您是否检查了源代码以查看是否添加了样式属性。是的,这就是问题所在——我以前从未这样做过,但从上面的代码来看,我“相信”至少样式声明会添加到div中。我只是想弄清楚是否有一种方法可以做到这一点——但我可以用下面的James示例来解决我当前的问题。我想知道为什么
AvailableTimeSlot
是一个字符串(不是整数),但由于正在呈现
disabled
,因此我假设属性类型是
string
。除此之外,它看起来应该可以工作。您可以尝试进一步简化表达式以调试它,例如删除对
disabled
的检查(只是为了简化解析器的工作).如果你仔细阅读,它的风格并不在
类中
。它只是让人很困惑(同意你关于分解代码的建议).@TimMedora你的位置,我必须非常接近这个位置。谢谢James-正确,类定义是有效的。我添加了类似于你上面详述的方式的类定义,它工作得很好。不过,我正在尝试找出如何放入样式属性,但仍然不确定为什么没有放入。
<div class="item  disabled" style=&#39;cursor: default;&#39;>