0
我有double類型的財產在我的ViewModel和我爲它創建一個文本框:格式強類型元素值
Html.TextBoxFor(m => m.DoubleProperty)
有什麼辦法來格式化文本框的值(例如,應用一些String.Format魔術)?
我有double類型的財產在我的ViewModel和我爲它創建一個文本框:格式強類型元素值
Html.TextBoxFor(m => m.DoubleProperty)
有什麼辦法來格式化文本框的值(例如,應用一些String.Format魔術)?
您可以與[DisplayFormat]
屬性裝點您的視圖模型屬性允許你指定的任何格式:
[DisplayFormat(DataFormatString = "{0:###.###}", ApplyFormatInEditMode = true)]
public double? DoubleProperty { get; set; }
,並在您的視圖使用EditorFor
幫手:
@Html.EditorFor(m => m.DoubleProperty)
另一種可能性是寫自定義編輯器模板(~/Views/Shared/EditorTemplates/MyDouble.cshtml
):
@model double?
@Html.TextBox("", Model.HasValue ? Model.Value.ToString("###.###") : "")
,並在您的視圖:
@Html.EditorFor(m => m.DoubleProperty, "MyDouble")
,或者如果你不想調用EditorFor
幫手,你也可以使用[UIHint]
屬性上您的視圖模型時明確指定MyDouble
自定義編輯器模板:
[UIHint("MyDouble")]
public double? DoubleProperty { get; set; }