我有一个对象的ICollection,每个对象都包含decimal类型的高级属性。在我看来,我有以下代码,其中一个表填充了高级属性
@foreach (var section in Model.PolicySectionCollection)
{
<tr>
<td>
@Html.Label(section.Premium.ToString())
</td>
</tr>
}
检查
section.Premium.ToString()
使用快速查看,显示该值例如为“12500.00”
检查
@Html.Label(section.Premium.ToString())
使用快速视图,显示生成的代码是
<label for="">00</label>
所以我的所有十进制数字都显示为00.这有什么理由吗?
答案 0 :(得分:3)
@Html.Label
将为提供的属性生成标签。在您的情况下,您传递的值作为属性名称。所以它将“12500.00”视为您要显示的属性的名称。当然,这不是你想要做的,你只需要显示给定属性的值。
尝试
@Html.Raw
..而不是。你想要做的就是打印@Html.Raw为你做的实际值。
答案 1 :(得分:0)
@Html.Label(Convert.ToInt32(section.Premium).ToString())
或十进制值
<label for=''> @section.Premium</label>