На мой взгляд, у меня есть следующий вызов.
<%= 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" }) %>
И [UIHint("Currency")]
в моей модели ViewModel.
Это кажется неэлегантным. Я предполагаю, что эта проблема была решена аккуратно где-то в рамках MVC или С#, но я не знаю о более чистых решениях.
Каков подходящий способ обработки значений валютных значений в MVC?