我的模型有一个EditorFor,它绑定到数据库中的非空数字字段。我希望将此栏位留为空白,以便用户可以输入或扫描该字段中的数字。不幸的是,它默认为0.是否有一个简单的方法来删除0,同时保持字段不为空?从数字文本框中删除默认值0
@Html.EditorFor(model => model.RackNumber, new { id = "RackNumber"})
我的模型有一个EditorFor,它绑定到数据库中的非空数字字段。我希望将此栏位留为空白,以便用户可以输入或扫描该字段中的数字。不幸的是,它默认为0.是否有一个简单的方法来删除0,同时保持字段不为空?从数字文本框中删除默认值0
@Html.EditorFor(model => model.RackNumber, new { id = "RackNumber"})
更改模型属性类型可空:public int? RackNumber {get;set;}
您可以提供这样的价值属性:
@Html.EditorFor(model => model.RackNumber, new { Value = Model.RackNumber == 0 ? "" : Model.RackNumber.ToString(), id = "RackNumber"})
我得到一个“名字‘模式’在目前情况下不存在'错误。 – SandSnark 2013-03-26 20:30:28
我更新了答案。确保value属性是标题大小写后的“Model”。 – 2013-03-26 21:05:29
这样做。谢谢。 – SandSnark 2013-03-27 14:09:00
这是可以的,除非您直接绑定到实体/域类而不是dto或viewmodel,并且该字段不可为空。最好在字段上使用格式字符串,如下所示:[DisplayFormat(ApplyFormatInEditMode = true,DataFormatString =“{0:#。#}”)] – 2016-11-29 14:07:08