html.raw未进行渲染
本文关键字:raw html | 更新日期: 2023-09-27 18:03:13
我正在尝试使用下面的代码修改表行的背景色。然而,我遇到了一个语法分析器错误,因为关闭的tr标记没有匹配的打开的tr。我尝试使用@:而不是@Html.Raw(…(,但我遇到了同样的错误。如果我在条件块之外键入tr标记,它将呈现单个标记,并且表加载良好(只是没有交替的背景色(。
<table>
<tr>
<th>Count</th>
<th>Username</th>
</tr>
@foreach (var item in Model)
{
i++;
if (i % 2 == 0){
@Html.Raw("<tr>");
}
else{
@Html.Raw("<tr style='"background-color: #c9c9c9'">");
}
<td>@i.ToString()</td>
<td>
@Html.DisplayFor(modelItem => item.User)
</td>
</tr>
}
</table>
这些地方不需要@Html.Raw
。
只需将标签保留为<tr>
更新。。。添加您的代码
<table>
<tr>
<th>Count</th>
<th>Username</th>
</tr>
@foreach (var item in Model)
{
i++;
if (i % 2 == 0){
<tr>
}
else{
<tr style='background-color: #c9c9c9'>
}
<td>@i.ToString()</td>
<td>
@Html.DisplayFor(modelItem => item.User)
</td>
</tr>
}
</table>
改为执行此操作。
<table>
<tr>
<th>Count</th>
<th>Username</th>
</tr>
@foreach (var item in Model)
{
string backColor;
i++;
if (i % 2 == 0) {
backColor = "whatever this color should be";
}
else {
backColor = "#c9c9c9";
}
<tr style="background-color: @backColor">
<td>@i.ToString()</td>
<td>
@Html.DisplayFor(modelItem => item.User)
</td>
</tr>
}
</table>