我想根据被绑定(bind)元素的属性设置具有特定 css 样式的表格中的一些行。对于 CSS,我应用了老虎条纹,我想应用的这个新的 css 样式应该除了现有的条纹。
@foreach (var item in Model) {
<tr @if(item.IsComplete { class="complete"})>
老虎条纹是通过以下方式实现的:
table tr:nth-child(2n+0) {
background-color: #90b2d3;
color: white;
}
所以每隔一行应该是浅蓝色和白色文本,但任何包含元素 IsComplete
的行应该添加“完整”的 css 样式。
.complete {
font-style: italic;
color: #ccc;
}
这只是为了使其显示为灰色且“完整”。
然而,按照我目前的代码,我得到一个 parser error
Parser Error Message: Encountered end tag "tr" with no matching start tag. Are your start/end tags properly balanced?
我不明白,<tr>
出现在我的第一个代码块中,@ IsComplete
razor 语法应该 只是有条件地包含一个 css 类。
我知道这种方法确实意味着如果老虎条纹为一行着色和 IsComplete
属性是添加一个只使用其中一个的 css 类——我希望在弄清楚这里的语法有什么问题之后处理这个问题。不过,如果有一种方法可以同时应用这两个类(如果需要),那就太棒了。
最佳答案
像这样尝试:
<tr@(Html.Raw(item.IsComplete ? " class=\"complete\"" : ""))>
或者编写一个自定义的 HTML 帮助程序来避免标签汤。
关于css - MVC3 条件行样式以及 CSS 老虎条纹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15338561/