比较下面两段代码的区别:
<td>
@if (item.ModifyTime.HasValue)
{
@item.ModifyTime.GetValueOrDefault().ToString("yyyy-MM-dd")
}
</td>
<td>
@if (item.ModifyTime.HasValue)
{
item.ModifyTime.GetValueOrDefault().ToString("yyyy-MM-dd")
}
</td>
这两段代码编译都没有错,但是在页面输出的时候,有@字符的内容(修改日期)能够正常输出,但是没有@字符的则不会被输出。
个人总结:
在cshtml页面中,@字符除了告诉编译器这段代码需要编译之外,还代码表达式的值需要呈现在页面中。