html.displayfor 格式化,在MVC 3中,我无法获得@ Html.DisplayFor来呈现格式化的字符串...

我正在使用MVC 3的购物车网站,并使用代码优先的实体框架。我送过该模型是产品对象的列表,每个这些对象包括该物业:

[Required(ErrorMessage = "This is a required field.")]

[DataType(DataType.Currency)]

[Range(1.00, 500.00, ErrorMessage = "Products can not be free.")]

[DisplayFormat(DataFormatString = "{0:C}")]

[DisplayName("Price")]

public double Price { get; set; }

我希望在DisplayFormat属性将导致以下行视图格式化值货币(项目是循环中的产品对象):

@Html.DisplayFor(modelItem => item.Price)

但是,这并不适用格式化。到目前为止,我已经能够得到它的工作的唯一办法就是使用它代替:

@String.Format("{0:C}", item.Price)

但如果可能的话,我宁愿使用@ Html.DisplayFor,因为它是专门用来处理之类的东西空。我知道它将会是0或更多。事实上,验证过程总是会有一定的数量 - 但我想确保在继续之前没有更正确的方法。

任何有关这方面的信息将不胜感激!

UPDATE

达林回答,并指出它的工作,这引起了我回去了我在实际发送到该视图。我意识到,尽管我有一个名为ProductModel的类,它具有DisplayFormat属性,但我实际上正在返回包含产品列表的另一个模型。这叫做ProductListModel,我意识到它返回了产品数据类的列表 - 而不是ProductModel类!

所以最后它实际上很简单。只是希望我没有浪费半天的时间。谢谢你鼓励我回去检查,Darin!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值