2013-07-13 63 views
2

我從一個基類派生的控制器:更改貨幣符號thoroughout應用

namespace merawi.Controllers 
{ 
    public class BaseController : Controller 
    { 
     public CultureInfo trTR = new CultureInfo("tr-TR"); 

     public BaseController() 
     { 
      trTR.NumberFormat.CurrencySymbol = "TL"; 
     } 
    } 
} 

,並使用此語句貨幣格式:

ViewBag.SellingPrice = sp.ToString("C", trTR); 

然而,在具有的ViewModels的意見像

@model List<merawi.Models.DocumentWorkStep> 

我需要一種方式,需要格式化貨幣。

SellingPriceDocumentWorkStep類小數場:

public Nullable<decimal> SellingPrice { get; set; } 

,並使用該

<td>@string.Format("{0:C}", res.SellingPrice)</td> 

輸出₺,我需要 「TL」

我需要一種方法來訪問從視圖文件trTR對象...

謝謝

回答

1

添加到您的web.config文件,假設你想在你的整個應用程序中使用同一種文化:

<configuration> 
    <system.web> 
     <globalization uiCulture="tr-TR" culture="tr-TR" /> 
    </system.web> 
</configuration> 
1

在我的情況,我在web.config文件中添加標籤的全球化另外,由於我們需要自定義文化格式(例如使用"."而不是","作爲FR-CA中的小數),因此我在Global.asax.vb中添加了一項自定義功能,可以在全局範圍內設置全球化。

Web.config文件:

<globalization culture="fr-CA" uiCulture="fr-CA"/> 

Global.asax.vb:

Private Sub MvcApplication_BeginRequest(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.BeginRequest 
    StartSession() 
    Dim info as new Globalization.CultureInfo(System.Threading.Thread.CurrentThread.CurrentCulture.ToString()) 
    info.NumberFormat.CurrencyDecimalSeparator = "." 
    info.NumberFormat.NumberDecimalSeparator = "." 
    info.NumberFormat.PercentDecimalSeparator = "." 
    info.NumberFormat.CurrencyGroupSeparator = "," 
    info.NumberFormat.NumberGroupSeparator = "," 
    info.NumberFormat.PercentGroupSeparator = "," 
    info.NumberFormat. 
    System.Threading.Thread.CurrentThread.CurrentCulture = info 
End Sub 

這是我的情況。希望它有幫助。謝謝。