2013-08-30 77 views
2

目前,應用DataAnnotation貨幣的屬性時,它然後使用DisplayFor呈現此作爲HTML:怎麼改[DataType.Currency]呈現HTML

CSHTML:

<div>@Html.DisplayFor(m=>m.Price)</div> 

HTML:

<div>$U 4.193,99</div> 

我該如何更改它,使貨幣符號不是white-spaced? 我知道我可以應用一個CSS的白色空間div:nowrap;但它會更好,如果我可以只改變貨幣字符串格式得到:

<div>$U&nbsp;4.139,99</div> 
+0

http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates- part-1-introduction.html – SLaks

+0

@SLaks currency.cshtml中的默認cshtml代碼是什麼,所以我可以擴展它?我不知道它在哪裏獲得貨幣符號。 –

+1

'CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol' – SLaks

回答

2

您可以使用自定義顯示格式(而不是「貨幣」屬性):

[DisplayFormat(DataFormatString = "$U&nbsp;{0:#,###0.00}")] 

例子: http://rextester.com/PQSV4120(請注意,「NBSP;」當示例代碼保存文本被刪除,您可以手動將它放回雖然,然後重新運行它。)

編輯:改變格式字符串和添加的例子。

+0

這與使用貨幣相同。你真的讀過我的問題嗎? –

+0

對不起,更新了我的答案。我原本打算指出你可以使用自定義格式字符串。 – htxryan

+0

太棒了! 2寶石在這裏...使用DataFormatString和http://rextester.com/PQSV4120謝謝! –

0

使用該註釋: [DisplayFormat(DataFormatString = 「{0:0}」)]