我尝试学习Razor / MVC3,并且在部分视图DisplayTemplate上遇到了一些麻烦。
@{
DateTime? date = ViewData.Model;
if(date.HasValue) {
date.Value.ToShortDateString();
}
}
这就是我想要做的。显然我没有正确地做到这一点,因为它不起作用。我已经尝试了几种不同的方式,我只能接受随机错误。这种方法根本不会返回任何内容。
答案 0 :(得分:3)
强制切换到文本模式的内部代码块中的每个位置都使用<text></text>
代码段。
@{
DateTime? date = ViewData.Model;
string displayDate = "";
if(date.HasValue) {
<text>
@date.Value.ToShortDateString()
</text>
}
}
喝彩!
答案 1 :(得分:2)
您没有使用此语法向页面呈现任何内容;所有代码都声明一个变量 date 并将其设置为模型中的值。尝试这样的事情......
@{
DateTime? date = ViewData.Model;
string displayDate = "";
if(date.HasValue) {
displayDate = date.Value.ToShortDateString();
}
}
@displayDate
甚至更简单,就是这样:
@if (ViewData.Model.HasValue)
{
<span>@ViewData.Model.ToShortDateString()</span>
}