2013-03-26 185 views
4

我的模型有一個EditorFor,它綁定到數據庫中的非空數字字段。我希望將此欄位留爲空白,以便用戶可以輸入或掃描該字段中的數字。不幸的是,它默認爲0.是否有一個簡單的方法來刪除0,同時保持字段不爲空?從數字文本框中刪除默認值0

@Html.EditorFor(model => model.RackNumber, new { id = "RackNumber"}) 

回答

4

更改模型屬性類型可空:public int? RackNumber {get;set;}

+0

這樣做。謝謝。 – SandSnark 2013-03-27 14:09:00

+0

這是可以的,除非您直接綁定到實體/域類而不是dto或viewmodel,並且該字段不可爲空。最好在字段上使用格式字符串,如下所示:[DisplayFormat(ApplyFormatInEditMode = true,DataFormatString =「{0:#。#}」)] – 2016-11-29 14:07:08

2

您可以提供這樣的價值屬性:

@Html.EditorFor(model => model.RackNumber, new { Value = Model.RackNumber == 0 ? "" : Model.RackNumber.ToString(), id = "RackNumber"}) 
+0

我得到一個「名字‘模式’在目前情況下不存在'錯誤。 – SandSnark 2013-03-26 20:30:28

+0

我更新了答案。確保value屬性是標題大小寫後的「Model」。 – 2013-03-26 21:05:29