2017-06-16 26 views
3

ASP.Net MVC 5を学習しています。ブール値プロパティのデータアノテーションを使用してデフォルト値を設定します。また、コンストラクタを使用してデフォルト値を設定したくありません。出来ますか?データアノテーションを使用してデフォルト値を設定する方法

public class BalanceDetailMV 
{ 
    public BalanceDetailMV() 
    { 
     this.isUnitNoEmptyInAllRow = true; // I do not want this 
    } 
    public bool isUnitNoEmptyInAllRow { get; set; } 
} 

マイattmept:

[DefaultValue("true")] 
public bool isUnitNoEmptyInAllRow { get; set; } 

しかし、上記の動作しません。私を案内してください。

+1

について

'DefaultValueAttribute'はMVCによって使用されません。コンストラクタで設定する必要があります(またはモデルを初期化するとき) –

+0

このように設定されていても、C#では "true"は**文字列**であり、ブール値ではありません。 – oerkelens

+0

@ererkelens:そうです。実際に私はそこにブールを置いた。しかし、それはコンパイル時エラーとすべてを持っていた。だから、初心者として私は実験をしました。 – Unbreakable

答えて

6

以前のC#5またはを使用している場合は、コンストラクタでそれをしなければならないが、C#6以降、あなたはこのようにそれを行うことができます。

public class BalanceDetailMV 
{ 
    public bool isUnitNoEmptyInAllRow { get; set; } = true; 
} 
+0

cSharpのバージョンを知る方法を教えてください。親切に私を導くことができますか? – Unbreakable

+0

web.configファイルなどを確認する必要がありますか? – Unbreakable

+0

@ Unbreakableこの回答を確認する:https://stackoverflow.com/a/19532977/880511 – Abbas

0

に忘れてしまった場合は、エラーが発生した可能性がありますDefaultValue注釈を使用するファイルの先頭にusing System.ComponentModel;を追加します。ブール使用

[DefaultValue(true)] 
public bool isUnitNoEmptyInAllRow { get; set; } 
関連する問題