Как мне использовать EditorFor () в MVC для типа валюты / денег?

На мой взгляд, у меня есть следующий вызов.

<%= 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" %>
<%= Html.TextBox(Model.ToString("g"), new { @class = "currency" }) %>

И [UIHint («Currency»)] в моей ViewModel.

Это кажется неэлегантным. Я предполагаю, что эта проблема была аккуратно решена где-то в рамках MVC или C #, но я не знаю более чистых решений.

Как лучше всего редактировать значения валюты в MVC?

18
задан Thomas Langston 8 May 2012 в 21:27
поделиться