标签不显示转换的十进制数

时间:2013-11-22 10:13:15

标签: c# asp.net-mvc-4 label

我有一个对象的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.这有什么理由吗?

2 个答案:

答案 0 :(得分:3)

@Html.Label

将为提供的属性生成标签。在您的情况下,您传递的值作为属性名称。所以它将“12500.00”视为您要显示的属性的名称。当然,这不是你想要做的,你只需要显示给定属性的值。

尝试

@Html.Raw

..而不是。你想要做的就是打印@Html.Raw为你做的实际值。

答案 1 :(得分:0)

@Html.Label(Convert.ToInt32(section.Premium).ToString())   

或十进制值


 <label for=''> @section.Premium</label>