【发布时间】:2011-07-02 02:45:08
【问题描述】:
在我看来,我有以下电话。
<%= Html.EditorFor(x => x.Cost) %>
我有一个带有以下代码的 ViewModel 来定义成本。
public decimal Cost { get; set; }
但是,这会显示小数点后四位数的十进制值(例如 0.0000)。我知道Decimal.toString("G") (MSDN) 似乎可以解决这个问题,但我不确定在哪里应用它。
一种解决方案似乎是创建一个局部视图“Currency.aspx”。
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Decimal>" %>
<%= Html.TextBox(Model.ToString("g"), new { @class = "currency" }) %>
在我的 ViewModel 中还有一个 [UIHint("Currency")]。
这似乎不优雅。我认为这个问题已经在 MVC 框架或 C# 的某个地方得到了很好的解决,但我不知道更干净的解决方案。
在 MVC 中处理编辑货币值的适当方法是什么?
【问题讨论】:
标签: c# asp.net-mvc currency