gpt4 book ai didi

asp.net-mvc - DisplayFormat 未应用于十进制值

转载 作者:行者123 更新时间:2023-12-04 07:58:01 25 4
gpt4 key购买 nike

我有一个模型属性,我正在尝试使用 EditorFor 模板呈现,并且我正在尝试使用 DisplayFormat 属性应用格式。然而,它根本不起作用——它完全被忽略了。

这是我的模板:

@model System.Decimal?
@Html.TextBoxFor(m => m)

这是我的模型:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:0.00}")]
public decimal? Retail { get; set; }

这是我的观点:
@Html.EditorFor(m => m.Retail)

但它渲染了一个具有以下值的文本框:

189.9900



这看起来很简单,但它不起作用,我不知道为什么。

更新:
只是为了踢球,我用 DisplayFor 模板试了一下,它奏效了:
@Html.DisplayFor(m => m.Retail)

那么当我设置 ApplyFormatInEditMode 时,为什么 DisplayFor 模板可以工作,而 EditorFor 模板不行?对吗?

更新 2:
没关系,有效的原因是因为我的十进制显示模板是硬编码的。所以我的显示模板也不起作用。

最佳答案

达林·季米特洛夫发布 this answer ,我能够使用他的解决方案让它工作:

@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue)

有点粗糙,IMO,这对 TextBoxFor 不起作用,但至少它有效。

关于asp.net-mvc - DisplayFormat 未应用于十进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7843099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com