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

この構文では、ページに何もレンダリングしていません。そのコードが行うのは、変数の日付を宣言し、それをモデルの値に設定することだけです。このようなものを試してください...

@{
    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 に答える