来自数据库

时间:2018-04-03 05:51:10

标签: c# asp.net-mvc razor asp.net-mvc-5

我目前存储特定供应商货币的模型如下所示,VendorCurrency值将在下面显示" en-US"或" en-CA"等等。

目前我正在使用Web.Config中的标签,该标签全局设置默认货币,但是要求使网站成为多币种。

是否有一种简单的方法可以使用该模型来确定在视图中动态使用哪种货币?

供应商:

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

1 个答案:

答案 0 :(得分:0)

在返回视图之前,您需要在控制器中设置Thread.CurrentThread.CurrentCulture

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-Us");

巨大的警告:

此设置将持续超出您的视图执行和操作执行。它将会影响未来的行动执行。

此外,许多程序员在解析/打印数字时没有正确指定文化,如果你有这样的代码,设置CurrentCulture这样会巧妙地对它造成严重破坏。