【发布时间】:2020-06-07 15:58:53
【问题描述】:
我在视图中使用 .ToString() 来输出货币格式。我应该在渲染视图之前将值转换为字符串吗?另外,为什么下面的第二个 h3 标签没有像第一个那样创建货币字符串?
前:
<h3>Healthcare Cost Per Paycheck: @Model.TotalCostPerPaycheck.ToString("C")</h3>
<h3>Net Pay for @Model.FirstName @Model.LastName: @(Model.Salary - Model.TotalCostPerYear).ToString("C") </h3>
输出:
每张工资的医疗保健费用:71.16 美元
阿尔伯特·威尔逊的净工资:50150.ToString("C")
【问题讨论】:
-
尝试另一对括号
@((Model.Salary - Model.TotalCostPerYear).ToString("C")) -
至于你问题的第一部分,对于stackoverflow来说它可能过于基于意见,但我认为你这样做的方式没有任何问题。我不是真正的前端人员,但是像格式化对象以显示给用户这样的事情绝对应该在 UI 层中处理。
-
我想说像这里这样非常琐碎的对象操作/格式化在视图中很好。这样你的视图模型就可以看起来更合理,并且可能可重用
-
在 razor 视图中使用
ToString()如果原始字符串为空可能会导致异常,因此请始终使用string.IsNullOrEmpty方法检查null或empty,然后访问您的属性和使用ToString()。
标签: c# asp.net .net asp.net-mvc razor