c# - displayformatattribute 自定义格式化字符串

我希望能够在我的 View 模型中标记属性,以便在我的 MVC View 中显示时使用自定义格式进行格式化。

我假设我需要自己的显示格式属性并设置显示格式,但我不确定如何设置此显示格式或在哪里设置。如果我想将数字显示为货币,这很容易,只需在属性的构造函数中将 DataFormatString 设置为“{0:C}”即可。

但是,例如,如果我想屏蔽电子邮件地址(因此删除域名),我将如何使用显示格式属性或数据类型属性来做到这一点? 所以它是一个我要转换的字符串字段。 我知道还有其他方法,例如自定义显示模板,但我会失去一些内置的 htmlhelper 功能。我只想更改字符串的格式。最好让它像向那些需要屏蔽的字段添加属性一样简单

DataFormatString 似乎无法采用自定义格式化程序?

干杯 菲尔

最佳答案

有点类似于:How to make configurable DisplayFormat attribute

public class CustomDisplayFormatAttribute : DisplayFormatAttribute {
    public CustomDisplayFormatAttribute() {
        //MSDN Custom Date Format string rules:http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
        DataFormatString = "{0;dddd dd MMMM YYYY}";
    }
}

然后您可以使用它和基本属性,例如ApplyFormatInEditMode,如下所示:

[CustomDisplayFormatAttribute(ApplyFormatInEditMode = false)]
public DateTime? CreatedOn { get; set; }

注意日期有一个服务器与客户端文化设置,http://msdn.microsoft.com/en-us/library/bb882561(v=vs.110).aspx讨论(但不回答)如何在 javascript 中执行此操作。

https://stackoverflow.com/questions/23778661/

相关文章:

python - 如何将.html文件输出到.doc文件django

php - Laravel 存储函数更改返回数据

r - 传单 map 未在浏览器中显示

visual-studio-2010 - Visual Studio : show all spec

SAPUI5 - Sap.m.RadioButton 值字段?

ruby-on-rails - 尝试使用 Devise 向我的用户模型添加外来关系,然后更新它

python - 谷歌搜索

search - 如何让 Solr suggester 也处理拼写错误?

angularjs - 是否可以在模板 Angularjs 中输出整个范围?

java - 如何为复选框添加边框并使其始终可见