Joh*_*nC1 13 c# asp.net-mvc html-helper razor
我需要在CSS类之间切换,具体取决于是否读取了消息.
简单来说,应该是这样的:
if (item.status == "Unread")
{
<tr style="font-weight:bold">
...
}
else
{
<tr>
...
}
Run Code Online (Sandbox Code Playgroud)
我虽然无法实现这一目标.能告诉我一件好事吗?我应该使用HTML帮助器吗?
这是到目前为止的完整代码:
@foreach (var item in Model) {
if (item.status == "Unread")
{
<tr style="font-weight:bold">
<td>
@Html.DisplayFor(modelItem => item.timestamp)
</td>
<td>
@Html.DisplayFor(modelItem => item.subject)
</td>
<td>
@Html.DisplayFor(modelItem => item.message_text)
</td>
<td>
@Html.DisplayFor(modelItem => item.status)
</td>
<td>
@Html.DisplayFor(modelItem => item.user_sender.username)
</td>
<td>
@Html.DisplayFor(modelItem => item.user_reciever.username)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.id }) |
@Html.ActionLink("Details", "Details", new { id = item.id }) |
@Html.ActionLink("Delete", "Delete", new { id = item.id })
</td>
</tr>
}
}
Run Code Online (Sandbox Code Playgroud)
p.s*_*w.g 35
一个简单的解决方案是这样的:
@foreach (var item in Model)
{
var style = (item.status == "Unread") ? "font-weight:bold" : "";
<tr style="@style">
...
</tr>
}
Run Code Online (Sandbox Code Playgroud)
但是请注意,拥有一个单独的CSS类通常更清晰,然后根据其状态直接装饰相应类的元素.例如:
/* css */
tr.status-unread { font-weight: bold; }
...
/* razor */
@foreach (var item in Model)
{
<tr class="status-@item.status.ToLowerInvariant()">
...
</tr>
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
21526 次 |
最近记录: |