เปลี่ยนสัญลักษณ์สกุลเงินทั่วทั้งแอปพลิเคชัน

ฉันได้รับคอนโทรลเลอร์จากคลาสพื้นฐาน:

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);

อย่างไรก็ตามในมุมมองที่มีรูปแบบการดูเช่น

@model List<merawi.Models.DocumentWorkStep>

ฉันต้องการวิธีจัดรูปแบบสกุลเงินตามที่ต้องการ

SellingPrice เป็นฟิลด์ทศนิยมในคลาส DocumentWorkStep:

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

และใช้สิ่งนี้

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

เอาต์พุต ₺ ฉันต้องการ "TL"

ฉันต้องการวิธีเข้าถึงวัตถุ trTR จากไฟล์มุมมอง ...

ขอบคุณ


person burakk    schedule 13.07.2013    source แหล่งที่มา


คำตอบ (2)


เพิ่มสิ่งนี้ลงในไฟล์ web.config ของคุณ โดยสมมติว่าคุณต้องการให้มีการใช้วัฒนธรรมเดียวกันในแอปพลิเคชันทั้งหมดของคุณ:

<configuration>
    <system.web>
        <globalization uiCulture="tr-TR" culture="tr-TR" />
    </system.web>
</configuration>
person ataravati    schedule 13.07.2013

ในกรณีของฉัน ฉันเพิ่มแท็ก globalization ในไฟล์ web.config เนื่องจากเราจำเป็นต้องปรับแต่งรูปแบบวัฒนธรรม (เช่น การใช้ "." แทนที่จะเป็น "," เป็นทศนิยมใน FR-CA) ฉันจึงเพิ่มการปรับแต่งใน Global.asax.vb ซึ่งสามารถกำหนดกระแสโลกาภิวัตน์ได้ทั่วโลก

เว็บ.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

นั่นเป็นกรณีของฉัน หวังว่ามันจะช่วยได้ ขอบคุณ

person Jansen    schedule 23.10.2013