【问题标题】:How to set default value using data annotation如何使用数据注释设置默认值
【发布时间】:2017-11-19 08:59:05
【问题描述】:

我正在学习 ASP.Net MVC 5,我想使用布尔属性的数据注释设置默认值。另外我不想使用构造函数来设置默认值。有可能吗?

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

我的想法:

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

但以上不起作用。请指导我。

【问题讨论】:

  • DefaultValueAttribute 未被 MVC 使用。您需要在构造函数中设置它(或在初始化模型时)
  • 即使它是这样设置的,在 C# 中“true”是一个 字符串 而不是布尔值。
  • @oerkelens:你是对的。实际上,我确实在那里放了一个 bool true 。但它有编译时错误等等。所以,作为一个初学者,我做了一些实验。

标签: c# asp.net asp.net-mvc asp.net-mvc-5


【解决方案1】:

如果您使用的是 C# 5 或更早版本,则必须通过构造函数来完成,但从 C# 6 开始,您可以这样做:

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

【讨论】:

【解决方案2】:

如果忘记在使用DefaultValue 注释的文件顶部添加using System.ComponentModel;,您可能会遇到错误。

用于布尔值

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

【讨论】:

    猜你喜欢
    • 2017-01-25
    • 2015-01-11
    • 1970-01-01
    • 2023-03-26
    • 2015-03-27
    • 1970-01-01
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多