2013-09-27 1 views
1

Я хочу, чтобы мои значения будут показаны в представленияхКак показать валюту с отрицательным, а не Parentheis в ASP NET MVC?

как: - $ 150,00

Вместо: ($ 150,00)

-

Я думаю, это то, что я должен сделать:

How do I display a negative currency in red?

Но я не знаю, что делает он подразумевает под «BaseController класса»

ответ

4

Так сливаясь @ Джон тарелочкам ответ с этим

Реальный ответ должен был добавить этот метод в файл Global.asax.cs вашего проекта MVC. Вот и все.

Ключ вторая строка:

protected void Application_BeginRequest(object sender, EventArgs e) 
     { 

      CultureInfo culture = new CultureInfo("en-us"); 
      culture.NumberFormat.CurrencyNegativePattern = 1;  

      Thread.CurrentThread.CurrentUICulture = culture; 
      Thread.CurrentThread.CurrentCulture = culture; 
     } 
4

Это все до NumberFormatInfo.CurrencyNegativePattern. Предположительно, у вас есть значение 0, когда кажется, что вы хотите:

Неясно, используете ли вы в настоящее время CultureInfo пользователя, серверный сервер или что-то еще. Но вы всегда можете клонировать ту культуру, которую используете, а затем модифицируете NumberFormatInfo.

Пример кода:

using System; 
using System.Globalization; 

class Test 
{ 
    static void Main() 
    { 
     var original = new CultureInfo("en-us"); 
     // Prints ($5.50) 
     Console.WriteLine(string.Format(original, "{0:C}", -5.50m)); 

     var modified = (CultureInfo) original.Clone(); 
     modified.NumberFormat.CurrencyNegativePattern = 1;   
     // Prints -$5.50 
     Console.WriteLine(string.Format(modified, "{0:C}", -5.50m)); 
    } 
} 
+0

Как я могу это сделать? Я имею в виду, в какой части моего проекта я должен разместить это для всех полей, сформированных в валюте, для обновления? – Laggel

+0

@ Laggel: Я не знаю достаточно о интернационализации MVC, чтобы сказать, если честно, но я отредактировал свой ответ, чтобы показать вам, как изменить клонированную культуру. Я знаю, что это еще не все, но это, по крайней мере, начало ... –

+0

Примечание: Я говорю о проекте ASP NET MVC. Там, где у меня нет основного метода. И я не использую string.Format для форматирования значений, они автоматически отформатируются DataAnnotations и @ Html.DisplayFor – Laggel