2017-05-18 5 views
-1
<input type="text" class="date" value="@item.MarksEntryLastDate.Equals("01/01/0001 12:00:00 AM") ? @System.DateTime.Now.ToString("dd MMM yyyy"): @item.MarksEntryLastDate /> 

こんにちは、私はmvcフレームワークが初めてです。 cshtmlのかみそり三元演算子の条件を使用するのを助けてください。剃刀三元演算子の条件を文字列にチェックする方法

+0

コントローラー側で3者演算子チェックを実行するだけではどうですか? ''に短縮し、コントローラアクションメソッドでこれを使用してください: 'MarksEntryLastDate = MarksEntryLastDate.Equals(" 01/01/0001 12:00 :00 AM ")? DateTime.Now.ToString( "dd MMM yyyy"):MarksEntryLastDate'。 –

答えて

2

あなたは全体@の周りに括弧を配置する必要があります。

<input type="text" class="date" value="@(item.MarksEntryLastDate.Equals("01/01/0001 12:00:00 AM") ? System.DateTime.Now.ToString("dd MMM yyyy") : item.MarksEntryLastDate)" /> 

編集

エスコが指摘するように、あなたは、日付ではなく文字列を比較する方がよい場合があります。

item.MarksEntryLastDate.Equals(System.DateTime.MinValue) 
+2

正しいですが、文字列比較の代わりにDateTime.MinValueを使用することをお勧めします。 – Esko

+0

@エスコええ、文字列ではなく日付を比較する必要があるとは思っていましたが、わかりませんでした – Pete