输入显示空白而不是零

时间:2013-08-27 05:54:55

标签: c# asp.net-mvc razor

我有一个C#.NET MVC4应用程序。它有一个带有decimal属性的实体(在连接的MSSQL数据库中的某个地方):

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:.}")]
public decimal Fines { get; set; }

然后我将其显示为

@Html.EditorFor(model => model.Fines)

如果我用值1,2,3,...保存它然后打开记录进行编辑,文本输入值将被设置为保存的值,一切正常。 但是,如果值为0,(它存储到数据库中,但是)它在文本框中不显示为“0”字符串,而是显示为空字符串“”,这会导致验证错误,因为这是必填字段(和0是有效值。)

我做错了什么?

1 个答案:

答案 0 :(得分:1)

你的格式字符串有点奇怪..我不确定你的格式是什么。试试这个:

DataFormatString = "{0}"

或者,如果您希望将其格式化为货币,

DataFormatString = "{0:C}"

注意:刚试过这个:

string.Format("{0:.}", (decimal)0)

返回一个空字符串。

请参阅standardcustom数字格式字符串上的msdn页面。