首页 > 解决方案 > 如果句子不起作用,则剃刀查看

问题描述

我有这个剃须刀代码

    <td>@Model.ProcessedOn.Value.ToUniversalTime() UTC 
@(Model.ProcessedOn.Value != null ?  (Model.SendingOn.Value.AddTicks(-(Model.SendingOn.Value.Ticks % TimeSpan.TicksPerSecond)) - Model.AddedOn.Value.AddTicks(-(Model.AddedOn.Value.Ticks % TimeSpan.TicksPerSecond)))</td>

我需要检查是否Model.ProcessedOn不同于 null。

如果不同,我需要显示DateTime 值之间Model.SendingOn的减法。Model.AddedOn这段代码:

.AddTicks(-(Model.SendingOn.Value.Ticks % TimeSpan.TicksPerSecond))

只是删除毫秒。

我有一个问题@。我已经尝试了不同的方法,但是这句话返回错误,我确定我只是遇到了一些 sintax 错误。

有人可以帮我吗?

标签: c#.netrazor

解决方案


您可以尝试使用三元条件运算符@if([condition]){}来代替?: ,因为您期望结果只需要一个判断。

?:语法是

健康)状况 ?第一个表达式:第二个表达式;

<td>
    @Model.ProcessedOn.Value.ToUniversalTime() UTC
    @if (Model.ProcessedOn.Value != null)
    {
        @(Model.SendingOn.Value.AddTicks(-(Model.SendingOn.Value.Ticks % TimeSpan.TicksPerSecond)) - Model.AddedOn.Value.AddTicks(-(Model.AddedOn.Value.Ticks % TimeSpan.TicksPerSecond)))
    }
</td>

笔记:

我会写显示计算Controller而不是,显示数据View的唯一响应,数据由 提供。ViewController


推荐阅读