2013-07-13 61 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 

这是我的情况。希望它有帮助。谢谢。