データベースにNULL可能なdatetime列があります。私は、このプロパティは、次のように定義している私のviewmodelでC#Nullable DateTime書式設定エラー - 暗黙的に型 'string'を 'System.DateTime'に変換できません。
は次のとおりです。
viewModel.ExpiryDate = topic.ExpiryDate.HasValue ?
topic.ExpiryDate.Value.ToString("DD MMM YYYY") : null;
をしかし、私は」:私のコントローラの編集方法で
public DateTime? ExpiryDate { get; set; }
は、私は次のように、このプロパティの値を設定しようとしていますエラーが発生しました:
Cannot implicitly convert type 'string' to 'System.DateTime?'
すべてのエラー:あなたがのDateTime型のプロパティに文字列を渡している、このコード.ToString("DD MMM YYYY")
で
viewModel.ExpiryDate = topic.ExpiryDate.HasValue ?
topic.ExpiryDate.Value : null;
:
public DateTime ExpiryDate { get; set; }
viewModel.ExpiryDate = topic.ExpiryDate.ToString("DD MMM YYYY")
'viewModel.ExpiryDate'は' DateTime? 'ですが、文字列を割り当てようとしています。それは明確ではない? 'DateTime'にはフォーマットがありません。ToString(" DD MMM YYYY ")'でここで何を達成しようとしていますか? –
ExpiryDateは、Convert.ToDateTime(文字列形式)またはDateTime.ParseExact(文字列形式)として割り当てる必要があります。 –
ExpiryDateは、データベーステーブルのnull可能なDateTime値です。私の見解では、テキストボックスフィールド内にその表示をフォーマットしたいと思う。それは私がviewmodelを割り当てるときにそれをフォーマットしようとしている理由です。 – adam78