1

我正在尝试学习 Razor/MVC3 并且在使用这个局部视图 DisplayTemplate 时遇到了一些麻烦。

@{
    DateTime? date = ViewData.Model;

    if(date.HasValue) {
        date.Value.ToShortDateString();
    }
}

这就是我想要做的。显然我做得不对,因为它不起作用。我已经尝试了几种我能想到的不同方式,但只收到随机错误。这个方法根本不会返回任何东西。

4

2 回答 2

3

代码块内的每个地方强制切换到文本模式都使用<text></text>代码段。

@{
    DateTime? date = ViewData.Model;
    string displayDate = "";

    if(date.HasValue) {
         <text>
               @date.Value.ToShortDateString()
         </text>
    }
}

干杯!

于 2012-06-24T05:20:32.910 回答
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>
}
于 2012-06-24T05:04:44.393 回答