C# 使用MVC,我如何格式化<;tr>;基于其中一个<;td>;?

C# 使用MVC,我如何格式化<;tr>;基于其中一个<;td>;?,c#,asp.net-mvc,razor,view,C#,Asp.net Mvc,Razor,View,我有一个显示Windows部署进度的MVC应用程序。在我看来,我有一个表,显示每个部署的当前状态。其中一个属性是上次签入部署的时间(“CurrentTime”)。如果当前时间超过4小时,我想更改的样式 在我的MVC视图中,我正在尝试这样做: @foreach (var item in Model) { if(item.CurrentTime < DateTime.Now.AddHours(-4)) { @:<tr class="warning">

我有一个显示Windows部署进度的MVC应用程序。在我看来,我有一个表,显示每个部署的当前状态。其中一个属性是上次签入部署的时间(“CurrentTime”)。如果当前时间超过4小时,我想更改的样式

在我的MVC视图中,我正在尝试这样做:

@foreach (var item in Model)
{
    if(item.CurrentTime < DateTime.Now.AddHours(-4))
    {
        @:<tr class="warning">
    }
    else
    {
        @:<tr>
    }
@foreach (var item in Model)
{
    var warning = item.CurrentTime < DateTime.Now.AddHours(-4) ? "warning" : null;
    <tr class="@warning">
       <td></td>
    </tr>
}
@foreach(模型中的变量项)
{
if(item.CurrentTime
这不起作用。我收到一个解析器错误:

遇到没有匹配开始标记的结束标记“tr”。您的开始/结束标记是否正确平衡


实现这一点的简单方法是什么(我只是在学习MVC/web编程?

我的猜测是
不知何故放错了位置,这就是为什么会出现错误

您可以将if语句替换为内联if语句。这将使HTML更易于阅读,并最终维护

<tr class="@((item.CurrentTime < DateTime.Now.AddHours(-4) ? "warning" : ""))">
    <!--- Your row contents -->
</tr>

我的猜测是
不知何故放错了位置,这就是为什么会出现错误

您可以将if语句替换为内联if语句。这将使HTML更易于阅读,并最终维护

<tr class="@((item.CurrentTime < DateTime.Now.AddHours(-4) ? "warning" : ""))">
    <!--- Your row contents -->
</tr>

最简单的方法(和清洁剂)是这样做:

@foreach (var item in Model)
{
    if(item.CurrentTime < DateTime.Now.AddHours(-4))
    {
        @:<tr class="warning">
    }
    else
    {
        @:<tr>
    }
@foreach (var item in Model)
{
    var warning = item.CurrentTime < DateTime.Now.AddHours(-4) ? "warning" : null;
    <tr class="@warning">
       <td></td>
    </tr>
}
@foreach(模型中的变量项)
{
var warning=item.CurrentTime
Razor2+的一个很好的特性是,如果值为null,它将自动删除类属性。这个特性称为“条件属性”,如果需要,您可以在这里阅读更多内容


最简单的方法(和清洁剂)是这样做:

@foreach (var item in Model)
{
    if(item.CurrentTime < DateTime.Now.AddHours(-4))
    {
        @:<tr class="warning">
    }
    else
    {
        @:<tr>
    }
@foreach (var item in Model)
{
    var warning = item.CurrentTime < DateTime.Now.AddHours(-4) ? "warning" : null;
    <tr class="@warning">
       <td></td>
    </tr>
}
@foreach(模型中的变量项)
{
var warning=item.CurrentTime
Razor2+的一个很好的特性是,如果值为null,它将自动删除类属性。这个特性称为“条件属性”,如果需要,您可以在这里阅读更多内容


创建一个类似
string classvar=“warning”
的变量,然后将其添加到
tr
中。在if语句中,只需更改else中
classvar=“”;
的值。请将此作为一个示例查看:能否显示完整的代码部分(包括foreach的结尾和
?创建一个类似
string classvar=“warning”
的变量,然后将其添加到
tr
中。在if语句中,只需更改else中
classvar=“”;
的值。请参见以下示例:您能显示完整的代码部分吗(包括foreach的结尾和