我当前存储特定供应商货币的模型如下所示,其中 VendorCurrency 值类似于“en-US”或“en-CA”等。
目前,我在 Web.Config 中使用标签,该标签在全局范围内设置默认货币,但使网站支持多种货币的要求已经出现。
是否有一种简单的方法可以使用该模型来确定在 View 中即时使用哪种货币?
供应商:
public string VendorID { get; set; }
[Required]
[StringLength(100)]
[Display(Name = "Vendor Name")]
public string VendorName { get; set; }
[StringLength(50)]
public string VendorCurrency { get; set; }
发票:
public string Invoice_Number { get; set; }
public int VendorID {get;set;}
[DataType(DataType.Currency)]
public decimal? Invoice_Amount { get; set; }
最佳答案
在返回 View 之前,您需要在 Controller 中设置 Thread.CurrentThread.CurrentCulture
:
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-Us");
重要警告:
此设置将持续超出您的 View 执行和操作执行。它将渗透到 future 的行动执行中。
此外,许多编码人员在解析/打印数字时没有正确指定文化,如果您有这样的代码,像这样设置 CurrentCulture
会巧妙地对其造成严重破坏。
关于c# - 来自数据库的 MVC 5 中的动态货币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49623108/