我正在尋找一種有效的方法來自動格式化實體中的數據字段 - 理想情況下使用屬性。使用C#中的屬性格式化字段 - DisplayFormatAttribute?
我們需要從數據模型生成一個PDF文件。我們希望確保可交付成果的一致性,所以我們希望將某些格式化規則應用於某些數據字段(日期,電話號碼,郵政編碼等)。當然,我可以編寫自定義屬性和格式化代碼,但我寧願不重新發明輪子。我看到使用DataAnnotations的許多承諾(尤其是DisplayFormat屬性),但我似乎無法找到任何可以使用這些屬性的內置類。
如何在非UI(即非MVC)上下文中執行此操作?
這裏是我們要找的是什麼一個例子:
public class MyDataModel
{
[PhoneNumber]
public string PhoneNumber { get; set; }
public void FormatData()
{
//Invoke some .NET or other method changes the value of PhoneNumber into a desired format, i.e. (888)555-1234 based on its decorations.
}
}
我也開到創建數據的「視圖」,而不是更新原始對象的解決方案,那就是:
MyDataModel formatted = original.FormatData();
無論需要最少量的代碼是理想的。
什麼是MaskedTextBox中?這如何幫助Web項目之外的OP? – jrummell 2012-02-13 17:46:54
MaskedTextBox是System.Windows.Forms的一部分。它將任何格式化的樣式,即掩碼設置爲輸入文本,這似乎是OP想要的。它不應該與Web項目有任何關係。 – Brad 2012-02-13 18:01:19