using System.Diagnostics.CodeAnalysis; namespace System.ComponentModel.DataAnnotations { /// /// Allows overriding various display-related options for a given field. The options have the same meaning as in BoundField. /// [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)] [SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes", Justification = "We want users to be able to extend this class")] public class DisplayFormatAttribute : Attribute { /// /// Gets or sets the format string /// public string DataFormatString { get; set; } /// /// Gets or sets the string to display when the value is null /// public string NullDisplayText { get; set; } /// /// Gets or sets a value indicating whether empty strings should be set to null /// public bool ConvertEmptyStringToNull { get; set; } /// /// Gets or sets a value indicating whether the format string should be used in edit mode /// public bool ApplyFormatInEditMode { get; set; } #if !SILVERLIGHT /// /// Gets or sets a value indicating whether the field should be html encoded /// public bool HtmlEncode { get; set; } #endif /// /// Default constructor /// public DisplayFormatAttribute() { this.ConvertEmptyStringToNull = true; // default to true to match behavior in related components #if !SILVERLIGHT this.HtmlEncode = true; // default to true to match behavior in related components #endif } } }