2017-06-16 2 views
3

Ich lerne ASP.Net MVC 5 und möchte den Standardwert mithilfe der Datenannotation für die boolesche Eigenschaft festlegen. Ich möchte auch nicht den Konstruktor verwenden, um den Standardwert festzulegen. Ist es möglich?So legen Sie den Standardwert mithilfe der Datenannotation fest

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

Mein attmept:

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

Aber oben funktioniert nicht. Bitte führen Sie mich.

+1

'DefaultValueAttribute' wird nicht von MVC verwendet. Sie müssen es in einem Konstruktor setzen (oder wenn Sie Ihr Modell initialisieren) –

+0

Selbst wenn es so eingestellt wäre, ist in C# "true" eine ** Zeichenkette ** und KEINE boolesche. – oerkelens

+0

@oerkelens: Sie haben Recht. Eigentlich habe ich da einen Booler gemacht. Aber es hatte Kompilierzeit Fehler und alle. Also habe ich als Anfänger experimentiert. – Unbreakable

Antwort

6

Wenn Sie C# 5 oder früher verwenden, haben Sie es über den Konstruktor zu tun, aber da C# 6, können Sie es wie folgt tun:

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

Wie kann ich die Version von cSharp wissen? Kannst du mich freundlich führen? – Unbreakable

+0

Muss ich meine web.config-Datei oder etwas überprüfen? – Unbreakable

+0

@Unbreakable überprüfen Sie diese Antwort: https://StackOverflow.com/a/19532977/880511 – Abbas

0

Sie Fehler, wenn vergessen werden könnte, die Fügen Sie am Anfang Ihrer Datei using System.ComponentModel; hinzu, wo Sie DefaultValue Annotation verwenden.

Für Bool Verwendung

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