2017-06-16 80 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

@ oerkelens:你說得對。其實我確實在那裏做了一個布爾。但它有編譯時間錯誤和所有。所以,作爲初學者,我做了一些實驗。 – 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;

對於bool使用

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