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