2017-06-21 156 views
0

在我們的ASP.NET Core 1.1項目之一中,在渲染以下View時出現以下錯誤。我想我下面的正確像@DarinDimitrovhereDataAnnotation for float not working

錯誤從SO用戶的建議Input string was not in correct format

視圖模型

Public Class OrdersViewModel 
{ 
    .... 
    [DisplayFormat(DataFormatString = "{(0:C)}")] 
    public float? price { get; set; } 
} 

查看:

@model MyProj.Models.OrdersViewModel 
@{ 
Layout = ""; 
} 
.... 
<tr> 
    <td>Price:</td> 
    <td>@Html.DisplayFor(t => t.price)</td> 
</tr> 

UPDATE

@String.Format("{0:c}", Model.price)工作的建議here通過@nemesv。但我不想在視圖中使用它,因爲ModelView在各種視圖的多個位置使用。所以我想在這些地方繼續使用DisplayFor(...)--因爲它更簡單一些。

回答

0

System.FormatException你的意思是說你的DataFormatString是錯的。你的情況,你需要從格式字符串中刪除()(的String.Format作品顯式調用爲使用不同的模板):

[DisplayFormat(DataFormatString = "{0:C}")] 
public float? price { get; set; } 

如果您需要的結果字符串要像(123.45),不123.45然後做

[DisplayFormat(DataFormatString = "({0:C})")]