![](/img/trans.png)
[英]WPF and Prism - Binding to TemplateSelector driven ListBoxItem's IsSelected event is not firing in ViewModel bound code
[英]Data driven currency code on ViewModel
我正在ASP.Net MVC 5中工作。我具有以下ViewModel:
[Display(Name = "Shipping Cost")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:#.#}")]
public decimal ShippingCost { get; set; }
[Display(Name = "Shipping Currency")]
public Currency ShippingCurrency { get; set; }
ShippingCurrency是一个如下所示的枚举:
public enum Currency
{
GBP,
USD,
CAD,
AUD
}
当我查看ViewModel的详细信息时,我想查看其旁边带有相关货币符号的运输成本,但是我想从我的ViewModel而不是Razor视图中执行此操作。 因此,在“视图”中,我想看到:
200 GBP
180 USD
320 CAD
有没有一种方法可以通过ViewModel上的Data Attributes获得该格式?
因为属性是元数据,并且必须在编译时知道,所以不能使用Attribute
进行操作。
相反,您可以在视图模型中包括一个只读属性以返回格式化的值,例如
public string FormattedAmount
{
get { return string.Format("{0:#.#} {1}", ShippingCost, ShippingCurrency); }
}
并认为
<span>@Model.FormattedAmount</span>
另外,您也可以在视图中合并两个属性的值
<span>@DisplayFor(m => m.ShippingCost)</span><span>@Model.ShippingCurrency </span>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.