На мой взгляд, у меня следующий звонок.
<%= 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 или C #, но я не знаю более чистых решений.
Как правильно редактировать значения валют в MVC?