输入显示为空白而不是零

本文关键字:空白 显示 输入 | 更新日期: 2023-09-27 18:29:04

我有一个C#.NET MVC4应用程序。它有一个具有十进制属性的实体(在连接的MSSQL数据库中的某个位置):

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

然后我把它显示为

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

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

我做错了什么?

输入显示为空白而不是零

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

DataFormatString = "{0}"

或者,如果你想将其格式化为货币,

DataFormatString = "{0:C}"

注意:刚刚测试了这个:

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

它返回一个空字符串。

请参阅有关标准和自定义数字格式字符串的msdn页面。